Skip to content

Latest commit

 

History

History
90 lines (49 loc) · 5.68 KB

File metadata and controls

90 lines (49 loc) · 5.68 KB
graph LR
    BaseApplication["BaseApplication"]
    SegmentationApplication["SegmentationApplication"]
    ClassificationApplication["ClassificationApplication"]
    LossSegmentation["LossSegmentation"]
    LossClassification["LossClassification"]
    LossAutoEncoder["LossAutoEncoder"]
    UtilityFunctions["UtilityFunctions"]
    SegmentationApplication -- "inherits from" --> BaseApplication
    ClassificationApplication -- "inherits from" --> BaseApplication
    SegmentationApplication -- "uses" --> LossSegmentation
    ClassificationApplication -- "uses" --> LossClassification
    LossSegmentation -- "depends on" --> UtilityFunctions
    LossClassification -- "depends on" --> UtilityFunctions
    LossAutoEncoder -- "depends on" --> UtilityFunctions
Loading

CodeBoardingDemoContact

Details

The NiftyNet application architecture is built around a core BaseApplication component, which establishes a standardized lifecycle for various medical imaging tasks. Specialized applications like SegmentationApplication and ClassificationApplication extend this base, tailoring the data pipeline and network integration for their specific domains. These applications interact with dedicated loss components, such as LossSegmentation, LossClassification, and LossAutoEncoder, which encapsulate the mathematical formulations for evaluating model performance. A shared UtilityFunctions component provides essential data preprocessing capabilities, which are leveraged by the loss functions to prepare data for computation. This modular design promotes reusability and clear separation of concerns, facilitating the development and extension of diverse medical imaging applications.

BaseApplication

Defines the abstract interface and common lifecycle management (training, inference, evaluation states) for all NiftyNet applications. It ensures a standardized operational framework across different medical imaging tasks.

Related Classes/Methods:

SegmentationApplication

Specializes BaseApplication to define the high-level control flow, data pipeline setup (samplers, aggregators), and network integration specific to segmentation tasks. It orchestrates the entire process from data input to model output, including the training and inference loops.

Related Classes/Methods:

ClassificationApplication

Specializes BaseApplication to define the high-level control flow, data pipeline setup (samplers, aggregators), and network integration specific to classification tasks. It orchestrates the entire process from data input to model output, including the training and inference loops.

Related Classes/Methods:

LossSegmentation

Encapsulates the mathematical formulations for calculating the discrepancy between model predictions and ground truth for segmentation tasks. It provides various loss metrics tailored to different task types and prepares callable functions for use in the training loop.

Related Classes/Methods:

LossClassification

Encapsulates the mathematical formulations for calculating the discrepancy between model predictions and ground truth for classification tasks. It provides various loss metrics tailored to different task types and prepares callable functions for use in the training loop.

Related Classes/Methods:

LossAutoEncoder

Encapsulates the mathematical formulations for calculating the discrepancy between model predictions and ground truth for autoencoder tasks. It provides various loss metrics tailored to different task types and prepares callable functions for use in the training loop.

Related Classes/Methods:

UtilityFunctions

Provides utility functions for data preprocessing, such as one-hot encoding of labels, required by loss functions before computation.

Related Classes/Methods: