mednet.data.typing

Defines most common types used in code.

Module Attributes

Sample

Definition of a sample.

Transform

A callable that transforms tensors into (other) tensors.

TransformSequence

A sequence of transforms.

DatabaseSplit

The definition of a database split.

ConcatDatabaseSplit

The definition of a complex database split composed of several other splits.

DataLoader

Our own augmentation definition of a pytorch DataLoader.

Classes

Dataset()

Our own definition of a pytorch Dataset.

RawDataLoader()

A loader object can load samples from storage.

mednet.data.typing.Sample

Definition of a sample.

A dictionary containing an arbitrary number of keys and values. Some of the keys are reserved, others ignored within the framework, and can be re-used to hold sample metadata required for further analysis.

Reserved keys:

  • input: This is typically a 1, 2 or 3D torch float tensor containing the input data to be analysed.

  • target: This is typically a torch float tensor containing the target the network must try to achieve. In the case of classification, it can be a 1D tensor containing a single entry (binary classification) or multiple entries (multi-class classification). In the case of semantic segmentation, this entry typically contains a float representation of the target mask the network must decode from the input data.

  • mask: A torch float tensor containing a mask over which the input (and the output) may be ignored. Typically used in semantic segmentation tasks.

  • name: A name for the sample. Typically set to the name of the file or file-stem holding the input data.

alias of Mapping[str, Any]

class mednet.data.typing.RawDataLoader[source]

Bases: ABC

A loader object can load samples from storage.

abstract sample(sample)[source]

Load whole samples from media.

Parameters:

sample (Any) – Information about the sample to load. Implementation dependent.

Return type:

Mapping[str, Any]

Returns:

The instantiated sample, which is a dictionary where keys name the sample’s data and metadata.

abstract target(sample)[source]

Load only sample target from its raw representation.

Parameters:

sample (Any) – A tuple containing the path suffix, within the dataset root folder, where to find the image to be loaded, and an integer, representing the sample target.

Return type:

Tensor

Returns:

The label corresponding to the specified sample, encapsulated as a torch float tensor.

mednet.data.typing.Transform

A callable that transforms tensors into (other) tensors.

Typically used in data-processing pipelines inside pytorch.

alias of Callable[[Tensor], Tensor]

mednet.data.typing.TransformSequence

A sequence of transforms.

alias of Sequence[Callable[[Tensor], Tensor]]

mednet.data.typing.DatabaseSplit

The definition of a database split.

A database split maps dataset (subset) names to sequences of objects that, through a RawDataLoader, eventually becomes a Sample in the processing pipeline.

alias of Mapping[str, Sequence[Any]]

mednet.data.typing.ConcatDatabaseSplit

The definition of a complex database split composed of several other splits.

A database split maps dataset (subset) names to sequences of objects that, through a RawDataLoader, eventually becomes a Sample in the processing pipeline. Objects of this subtype allow the construction of complex splits composed of cannibalized parts of other splits. Each split may be assigned a different RawDataLoader.

alias of Mapping[str, Sequence[tuple[Sequence[Any], RawDataLoader]]]

class mednet.data.typing.Dataset[source]

Bases: Dataset[Mapping[str, Any]], Iterable, Sized

Our own definition of a pytorch Dataset.

We iterate over Sample objects in this case. Our datasets always provide a dunder len method.

targets()[source]

Return the integer targets for all samples in the dataset.

Return type:

list[Tensor]

mednet.data.typing.DataLoader[source]

Our own augmentation definition of a pytorch DataLoader.

We iterate over Sample objects in this case.

alias of DataLoader[Mapping[str, Any]]