bscan_image_and_mask_generation_algorithm
Algorithms and related functionality for simply outputting data to CSV.
Classes
BscanImageAndMaskGenerationAlgorithm
class BscanImageAndMaskGenerationAlgorithm( datastructure: DataStructure, segmentation_configs: list[SegmentationConfig], save_path: Optional[Union[str, os.PathLike]] = None, output_original_bscans: bool = False, image_format: ImageFormats = ImageFormats.JPEG, image_optimize: bool = True, image_quality: int = 90, image_subsampling: int = 0, image_progressive: bool = True, image_transparency: bool = False, **kwargs: Any,):Algorithm that outputs images of B-scans alongside their segmentation masks.
Initializes the BscanImageAndMaskGenerationAlgorithm.
Arguments
datastructure: DataStructure object describing the data.segmentation_configs: List of segmentation configurations.output_original_bscans: Flag to save original B-scans.image_format: Format for saving images, JPEG and PNG are supported.image_optimize: Flag to optimize images.image_quality: Quality of saved images.image_subsampling: Subsampling for saved images.image_progressive: Flag for progressive saving.image_transparency: Flag for transparency in PNG images.save_path: Deprecated. Use the BITFOUNT_OUTPUT_DIR, BITFOUNT_TASK_RESULTS, or BITFOUNT_PRIMARY_RESULTS_DIR environment variables instead to determine output location.- **
**kwargs**: Additional keyword arguments for the base class.
Note 'image_subsampling' and 'image_progressive' only apply to JPEG format and are ignored for PNG. 'image_transparency' only applies to PNG format and is ignored for JPEG.
Ancestors
- BaseNonModelAlgorithmFactory
- BaseAlgorithmFactory
- abc.ABC
- bitfount.federated.roles._RolesMixIn
- bitfount.types._BaseSerializableObjectMixIn
- typing.Generic
Variables
- static
fields_dict : ClassVar[dict[str, marshmallow.fields.Field]]
Methods
modeller
def modeller( self, *, context: ProtocolContext, **kwargs: Any,) ‑> NoResultsModellerAlgorithm:Returns the modeller-side of the algorithm.
Arguments
context: Optional. Run-time protocol context details for running.- **
**kwargs**: Additional keyword arguments.
Returns NoResultsModellerAlgorithm instance.
worker
def worker( self, *, context: ProtocolContext, **kwargs: Any,) ‑> bitfount.federated.algorithms.ophthalmology.bscan_image_and_mask_generation_algorithm._WorkerSide:Returns the worker-side of the algorithm.
Arguments
context: Optional. Run-time protocol context details for running.- **
**kwargs**: Additional keyword arguments.
Returns _WorkerSide instance.
ImageFormats
class ImageFormats(value, names=None, *, module=None, qualname=None, type=None, start=1):Supported image formats for saving images.
ImageSaveOptions
class ImageSaveOptions( image_format: ImageFormats = ImageFormats.JPEG, image_optimize: bool = True, image_quality: int = 90, image_subsampling: int = 0, image_progressive: bool = True, image_transparency: bool = False,):Options for saving images.
Note: 'image_subsampling' and 'image_progressive' only apply to JPEG format and are ignored for PNG. Note: 'image_transparency' only applies to PNG format and is ignored for JPEG.
Variables
- static
image_format : ImageFormats
- static
image_optimize : bool
- static
image_progressive : bool
- static
image_quality : int
- static
image_subsampling : int
- static
image_transparency : bool
SegmentationConfig
class SegmentationConfig( id: str, color: tuple[int, int, int], label: Optional[str] = None,):Configuration for a segmentation mask.
Ancestors
- bitfount.types.UsedForConfigSchemas
Methods
validate_args
def validate_args(self) ‑> None:Validate a segmentation configuration.
Ensures that given config complies with the expected structure and types. If label is not provided, it defaults to the ID. Checks for color values that adhere to the RGB format.
SegmentationConfigList
class SegmentationConfigList(segmentation_config_list: list[SegmentationConfig]):Configuration for a list of segmentation masks.
Variables
- static
segmentation_config_list : list[SegmentationConfig]
Methods
get_segmentation_config
def get_segmentation_config( self,) ‑> tuple[dict[str, int], dict[str, tuple[int, int, int]], dict[str, str]]:Get the segmentation configuration as a tuple of dictionaries.
Returns Tuple of dictionaries containing segmentation labels and colors.
validate_args
def validate_args(self) ‑> None:Validate the arguments in the segmentation config list.