Algorithms
Algorithm configurations.
CAREAlgorithm
Bases: UNetBasedAlgorithm
CARE algorithm configuration.
Attributes:
| Name | Type | Description |
|---|---|---|
algorithm |
care
|
CARE Algorithm name. |
loss |
{mae, mse}
|
CARE-compatible loss function. |
algorithm = 'care'
class-attribute
instance-attribute
CARE Algorithm name.
loss = 'mae'
class-attribute
instance-attribute
CARE-compatible loss function.
lr_scheduler = LrSchedulerConfig()
class-attribute
instance-attribute
Learning rate scheduler to use, defined in SupportedLrScheduler.
model
instance-attribute
UNet without a final activation function and without the n2v2 modifications.
optimizer = OptimizerConfig()
class-attribute
instance-attribute
Optimizer to use, defined in SupportedOptimizer.
get_algorithm_citations()
Return a list of citation entries of the current algorithm.
This is used to generate the model description for the BioImage Model Zoo.
Returns:
| Type | Description |
|---|---|
List[CiteEntry]
|
List of citation entries. |
get_algorithm_description()
get_algorithm_friendly_name()
get_algorithm_keywords()
get_algorithm_references()
Get the algorithm references.
This is used to generate the README of the BioImage Model Zoo export.
Returns:
| Type | Description |
|---|---|
str
|
Algorithm references. |
get_compatible_algorithms()
classmethod
Get the list of compatible algorithms.
Returns:
| Type | Description |
|---|---|
list of str
|
List of compatible algorithms. |
is_supervised()
classmethod
Return whether the algorithm is supervised.
Returns:
| Type | Description |
|---|---|
bool
|
Whether the algorithm is supervised. |
HDNAlgorithm
Bases: VAEBasedAlgorithm
HDN algorithm configuration.
optimizer = OptimizerConfig()
class-attribute
instance-attribute
Optimizer to use, defined in SupportedOptimizer.
algorithm_cross_validation()
Validate the algorithm model based on algorithm.
Returns:
| Type | Description |
|---|---|
Self
|
The validated model. |
get_algorithm_citations()
Return a list of citation entries of the current algorithm.
This is used to generate the model description for the BioImage Model Zoo.
Returns:
| Type | Description |
|---|---|
List[CiteEntry]
|
List of citation entries. |
get_algorithm_description()
get_algorithm_friendly_name()
get_algorithm_keywords()
get_algorithm_references()
Get the algorithm references.
This is used to generate the README of the BioImage Model Zoo export.
Returns:
| Type | Description |
|---|---|
str
|
Algorithm references. |
get_compatible_algorithms()
classmethod
Get the list of compatible algorithms.
Returns:
| Type | Description |
|---|---|
list of str
|
List of compatible algorithms. |
output_channels_validation()
Validate the consistency between number of out channels and noise models.
Returns:
| Type | Description |
|---|---|
Self
|
The validated model. |
predict_logvar_validation()
Validate the consistency of predict_logvar throughout the model.
Returns:
| Type | Description |
|---|---|
Self
|
The validated model. |
MicroSplitAlgorithm
Bases: VAEBasedAlgorithm
MicroSplit algorithm configuration.
optimizer = OptimizerConfig()
class-attribute
instance-attribute
Optimizer to use, defined in SupportedOptimizer.
algorithm_cross_validation()
Validate the algorithm model based on algorithm.
Returns:
| Type | Description |
|---|---|
Self
|
The validated model. |
get_algorithm_citations()
Return a list of citation entries of the current algorithm.
This is used to generate the model description for the BioImage Model Zoo.
Returns:
| Type | Description |
|---|---|
List[CiteEntry]
|
List of citation entries. |
get_algorithm_description()
get_algorithm_friendly_name()
get_algorithm_keywords()
get_algorithm_references()
Get the algorithm references.
This is used to generate the README of the BioImage Model Zoo export.
Returns:
| Type | Description |
|---|---|
str
|
Algorithm references. |
get_compatible_algorithms()
classmethod
Get the list of compatible algorithms.
Returns:
| Type | Description |
|---|---|
list of str
|
List of compatible algorithms. |
output_channels_validation()
Validate the consistency between number of out channels and noise models.
Returns:
| Type | Description |
|---|---|
Self
|
The validated model. |
predict_logvar_validation()
Validate the consistency of predict_logvar throughout the model.
Returns:
| Type | Description |
|---|---|
Self
|
The validated model. |
N2NAlgorithm
Bases: UNetBasedAlgorithm
Noise2Noise Algorithm configuration.
algorithm = 'n2n'
class-attribute
instance-attribute
N2N Algorithm name.
loss = 'mae'
class-attribute
instance-attribute
N2N-compatible loss function.
lr_scheduler = LrSchedulerConfig()
class-attribute
instance-attribute
Learning rate scheduler to use, defined in SupportedLrScheduler.
model
instance-attribute
UNet without a final activation function and without the n2v2 modifications.
optimizer = OptimizerConfig()
class-attribute
instance-attribute
Optimizer to use, defined in SupportedOptimizer.
get_algorithm_citations()
Return a list of citation entries of the current algorithm.
This is used to generate the model description for the BioImage Model Zoo.
Returns:
| Type | Description |
|---|---|
List[CiteEntry]
|
List of citation entries. |
get_algorithm_description()
get_algorithm_friendly_name()
get_algorithm_keywords()
get_algorithm_references()
Get the algorithm references.
This is used to generate the README of the BioImage Model Zoo export.
Returns:
| Type | Description |
|---|---|
str
|
Algorithm references. |
get_compatible_algorithms()
classmethod
Get the list of compatible algorithms.
Returns:
| Type | Description |
|---|---|
list of str
|
List of compatible algorithms. |
is_supervised()
classmethod
Return whether the algorithm is supervised.
Returns:
| Type | Description |
|---|---|
bool
|
Whether the algorithm is supervised. |
N2VAlgorithm
Bases: UNetBasedAlgorithm
N2V Algorithm configuration.
algorithm = 'n2v'
class-attribute
instance-attribute
N2V Algorithm name.
loss = 'n2v'
class-attribute
instance-attribute
N2V loss function.
lr_scheduler = LrSchedulerConfig()
class-attribute
instance-attribute
Learning rate scheduler to use, defined in SupportedLrScheduler.
monitor_metric = 'val_loss'
class-attribute
instance-attribute
Metric to monitor for the learning rate scheduler.
optimizer = OptimizerConfig()
class-attribute
instance-attribute
Optimizer to use, defined in SupportedOptimizer.
get_algorithm_citations()
Return a list of citation entries of the current algorithm.
This is used to generate the model description for the BioImage Model Zoo.
Returns:
| Type | Description |
|---|---|
List[CiteEntry]
|
List of citation entries. |
get_algorithm_description()
Return a description of the algorithm.
This method is used to generate the README of the BioImage Model Zoo export.
Returns:
| Type | Description |
|---|---|
str
|
Description of the algorithm. |
get_algorithm_friendly_name()
get_algorithm_keywords()
get_algorithm_references()
Get the algorithm references.
This is used to generate the README of the BioImage Model Zoo export.
Returns:
| Type | Description |
|---|---|
str
|
Algorithm references. |
get_compatible_algorithms()
classmethod
Get the list of compatible algorithms.
Returns:
| Type | Description |
|---|---|
list of str
|
List of compatible algorithms. |
is_struct_n2v()
Check if the configuration is using structN2V.
Returns:
| Type | Description |
|---|---|
bool
|
Whether the configuration is using structN2V. |
is_supervised()
classmethod
Return whether the algorithm is supervised.
Returns:
| Type | Description |
|---|---|
bool
|
Whether the algorithm is supervised. |
set_n2v2(use_n2v2)
Set the configuration to use N2V2 or the vanilla Noise2Void.
This method ensures that N2V2 is set correctly and remain coherent, as opposed to setting the different parameters individually.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
use_n2v2
|
bool
|
Whether to use N2V2. |
required |
validate_n2v2()
Validate that the N2V2 strategy and models are set correctly.
Returns:
| Type | Description |
|---|---|
Self
|
The validateed configuration. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If N2V2 is used with the wrong pixel manipulation strategy. |
PN2VAlgorithm
Bases: UNetBasedAlgorithm
PN2V Algorithm configuration.
algorithm = 'pn2v'
class-attribute
instance-attribute
PN2V Algorithm name.
loss = 'pn2v'
class-attribute
instance-attribute
PN2V loss function (uses N2V loss with noise model).
lr_scheduler = LrSchedulerConfig()
class-attribute
instance-attribute
Learning rate scheduler to use, defined in SupportedLrScheduler.
noise_model
instance-attribute
Noise model configuration for probabilistic denoising.
optimizer = OptimizerConfig()
class-attribute
instance-attribute
Optimizer to use, defined in SupportedOptimizer.
get_algorithm_citations()
Return a list of citation entries of the current algorithm.
This is used to generate the model description for the BioImage Model Zoo.
Returns:
| Type | Description |
|---|---|
List[CiteEntry]
|
List of citation entries. |
get_algorithm_description()
Return a description of the algorithm.
This method is used to generate the README of the BioImage Model Zoo export.
Returns:
| Type | Description |
|---|---|
str
|
Description of the algorithm. |
get_algorithm_friendly_name()
get_algorithm_keywords()
get_algorithm_references()
Get the algorithm references.
This is used to generate the README of the BioImage Model Zoo export.
Returns:
| Type | Description |
|---|---|
str
|
Algorithm references. |
get_compatible_algorithms()
classmethod
Get the list of compatible algorithms.
Returns:
| Type | Description |
|---|---|
list of str
|
List of compatible algorithms. |
is_struct_n2v()
Check if the configuration is using structPN2V.
Returns:
| Type | Description |
|---|---|
bool
|
Whether the configuration is using structPN2V. |
set_n2v2(use_n2v2)
Set the configuration to use PN2V2 or the vanilla Probabilistic Noise2Void.
This method ensures that PN2V2 is set correctly and remain coherent, as opposed to setting the different parameters individually.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
use_n2v2
|
bool
|
Whether to use PN2V2. |
required |
validate_n2v2()
Validate that the N2V2 strategy and models are set correctly.
Returns:
| Type | Description |
|---|---|
Self
|
The validated configuration. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If N2V2 is used with the wrong pixel manipulation strategy. |
UNetBasedAlgorithm
Bases: BaseModel
General UNet-based algorithm configuration.
This Pydantic model validates the parameters governing the components of the training algorithm: which algorithm, loss function, model architecture, optimizer, and learning rate scheduler to use.
Currently, we only support N2V, CARE, N2N, and PN2V algorithms. In order to train
these algorithms, use the corresponding configuration child classes (e.g.
N2VAlgorithm) to ensure coherent parameters (e.g. specific losses).
Attributes:
| Name | Type | Description |
|---|---|---|
algorithm |
{n2v, care, n2n, pn2v}
|
Algorithm to use. |
loss |
{n2v, mae, mse}
|
Loss function to use. |
model |
UNetConfig
|
Model architecture to use. |
optimizer |
(OptimizerConfig, optional)
|
Optimizer to use. |
lr_scheduler |
(LrSchedulerConfig, optional)
|
Learning rate scheduler to use. |
Raises:
| Type | Description |
|---|---|
ValueError
|
Algorithm parameter type validation errors. |
ValueError
|
If the algorithm, loss and model are not compatible. |
algorithm
instance-attribute
Algorithm name, as defined in SupportedAlgorithm.
loss
instance-attribute
Loss function to use, as defined in SupportedLoss.
lr_scheduler = LrSchedulerConfig()
class-attribute
instance-attribute
Learning rate scheduler to use, defined in SupportedLrScheduler.
model
instance-attribute
UNet model configuration.
optimizer = OptimizerConfig()
class-attribute
instance-attribute
Optimizer to use, defined in SupportedOptimizer.
get_compatible_algorithms()
classmethod
Get the list of compatible algorithms.
Returns:
| Type | Description |
|---|---|
list of str
|
List of compatible algorithms. |
VAEBasedAlgorithm
Bases: BaseModel
VAE-based algorithm configuration.
TODO
Examples:
TODO add once finalized
optimizer = OptimizerConfig()
class-attribute
instance-attribute
Optimizer to use, defined in SupportedOptimizer.
algorithm_cross_validation()
Validate the algorithm model based on algorithm.
Returns:
| Type | Description |
|---|---|
Self
|
The validated model. |
get_compatible_algorithms()
classmethod
Get the list of compatible algorithms.
Returns:
| Type | Description |
|---|---|
list of str
|
List of compatible algorithms. |
output_channels_validation()
Validate the consistency between number of out channels and noise models.
Returns:
| Type | Description |
|---|---|
Self
|
The validated model. |
predict_logvar_validation()
Validate the consistency of predict_logvar throughout the model.
Returns:
| Type | Description |
|---|---|
Self
|
The validated model. |