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
- BaseNonModelAlgorithmFactory
- BaseAlgorithmFactory
- abc.ABC
- bitfount.federated.roles._RolesMixIn
- bitfount.types._BaseSerializableObjectMixIn
- typing.Generic
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
RLPrediction
class RLPrediction(*args, **kwargs):Typed Dict for Retinal Layer prediction.
Ancestors
- builtins.dict