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