Skip to main content

cst_calculation_algorithm

Algorithm for calculating Central Subfield Thickness (CST).

Classes

CSTCalculationAlgorithm

class CSTCalculationAlgorithm(    datastructure: DataStructure,    cst_diameter_mm: float = 1.0,    ilm_layer_name: str = 'ILM',    rpe_layer_name: str = 'RPE Layer',    fovea_landmark_idx: int = 2,    strict_measurement: bool = False,    **kwargs: Any,):

Algorithm for calculating Central Subfield Thickness (CST).

This algorithm calculates:

  • CST: Mean thickness within a circular region (default 1mm diameter) centered on the fovea
  • CRT: Thickness at the single fovea center point, if the diameter is set to 0.

The algorithm builds a 2D thickness map from B-scan layer segmentations (ILM to RPE distance) and samples this map using a circular region (CST) or single point (CRT) centered on the fovea coordinates. Measurements follow ETDRS grid standards.

The algorithm supports fallback layer selection: if ILM or RPE are not available, it will automatically use the next closest layer in the retinal layer order (unless strict_measurement is enabled). The actual layers used are reported in the output.

Arguments

  • datastructure: The data structure to use for the algorithm.
  • cst_diameter_mm: Diameter of circular region for CST calculation in mm
  • (default: 1.0).
  • ilm_layer_name: Name of the Inner Limiting Membrane layer (default: "ILM").
  • rpe_layer_name: Name of the Retinal Pigment Epithelium layer (default: "RPE").
  • fovea_landmark_idx: Index of fovea landmark to use: 0=start, 1=end, 2=middle
  • (default: 2).
  • strict_measurement: If True, only calculate if both ILM and RPE are available. If False, use next available layer as fallback (default: False).

Ancestors

Variables

  • static fields_dict : ClassVar[T_FIELDS_DICT]

Methods


modeller

def modeller(    self, *, context: ProtocolContext, **kwargs: Any,)> NoResultsModellerAlgorithm:

Inherited from:

BaseNonModelAlgorithmFactory.modeller :

Modeller-side of the algorithm.

worker

def worker(    self, *, context: ProtocolContext, **kwargs: Any,)> bitfount.federated.algorithms.ophthalmology.cst_calculation_algorithm._WorkerSide:

Inherited from:

BaseNonModelAlgorithmFactory.worker :

Worker-side of the algorithm.

RLInstance

class RLInstance(*args, **kwargs):

Typed Dict for Retinal Layer instance.

Ancestors

  • builtins.dict

Variables

  • static attributes : List[Any]
  • static classId : int
  • static className : str
  • static points : Union[List[float], List[int]]
  • static probability : float
  • static type : Literal['polygon']

RLMask

class RLMask(*args, **kwargs):

Typed Dict for Retinal Layer mask.

Ancestors

  • builtins.dict

Variables

RLPrediction

class RLPrediction(*args, **kwargs):

Typed Dict for Retinal Layer prediction.

Ancestors

  • builtins.dict

Variables