code: def sample_dp_summary_stats(genotypes: Union[Column, str]) -> Column:
      """
      Computes per-sample summary statistics about the depth field in an array of genotype structs.
  
      Added in version 0.3.0.
  
      Examples:
          >>> sites = [
          ... {'genotypes': [{'sampleId': 'NA12878', 'depth': 1}]},
          ... {'genotypes': [{'sampleId': 'NA12878', 'depth': 2}]},
          ... {'genotypes': [{'sampleId': 'NA12878', 'depth': 3}]}]
          >>> df = spark.createDataFrame(sites, 'genotypes: array<struct<depth: int, sampleId: string>>')
          >>> df.select(glow.sample_dp_summary_stats('genotypes').alias('stats')).collect()
          [Row(stats=[Row(sampleId='NA12878', mean=2.0, stdDev=1.0, min=1.0, max=3.0)])]
  
      Args:
          genotypes : An array of genotype structs with ``depth`` field
  
      Returns:
          An array of structs where each struct contains ``mean``, ``stDev``, ``min``, and ``max`` of the genotype depths for a sample. If ``sampleId`` is present in a genotype, it will be propagated to the resulting struct as an extra field.
      """
      assert check_argument_types()
      output = Column(
          sc()._jvm.io.projectglow.functions.sample_dp_summary_stats(
              _to_java_column(genotypes)
          )
      )
      assert check_return_type(output)
      return output
  
imports: from pyspark import SparkContext
  from pyspark.sql.column import Column, _to_java_column, _to_seq
  from typeguard import check_argument_types, check_return_type
  from typing import Union
label_desc: Use image node_id 19 for calling a global function with example usage: sample_dp_summary_stats(genotypes) and returns: output