Algorithm requirements
In this section we detail the constraints of each algorithm on the configuration and their differences.
Parent configuration
The parent configuration is Configuration and it is the same for all algorithms. It
should not be used to train any of the algorithms as the child classes ensure coherence
across the parameters.
Noise2Void family
Noise2Void algorithms (N2V, N2V2, structN2V) are configured using N2VConfiguration.
It enforces the following constraints:
algorithm_config: must be aN2VAlgorithmalgorithm_config.algorithm="n2v"algorithm_config.loss="n2v"algorithm_config.model:- must be a UNet (
architecture="UNet") in_channelsandnum_classesmust be equal
- must be a UNet (
data_config: must be aN2VDataConfigurationdata_config.transforms: must containN2VManipulateModelas the last transform
CARE and Noise2Noise
The two algorithms are very similar and therefore their constraints are sensibly
the same. They are configured using CAREConfiguration and N2NConfiguration
respectively.
algorithm_config: must be aCAREAlgorithm(CARE) orN2NAlgorithm(Noise2Noise)algorithm_config.algorithm:care(CARE) orn2n(Noise2Noise)algorithm_config.loss:maeormsealgorithm_config.model: must be a UNet (architecture="UNet")data_config: must be aDataConfigurationdata_config.transforms: must not containN2VManipulateModel