niftynet.engine.application_factory module¶
Loading modules from a string representing the class name or a short name that matches the dictionary item defined in this module
-
select_module
(module_name, type_str, lookup_table)[source]¶ This function first tries to find the absolute module name by matching the static dictionary items, if not found, it tries to import the module by splitting the input
module_name
as module name and class name to be imported.Parameters: - module_name – string that matches the keys defined in lookup_table or an absolute class name: module.name.ClassName
- type_str – type of the module (used for better error display)
- lookup_table – defines a set of shorthands for absolute class name
-
class
ModuleFactory
[source]¶ Bases:
object
General interface for importing a class by its name.
-
SUPPORTED
= None¶
-
type_str
= 'object'¶
-
-
class
ApplicationNetFactory
[source]¶ Bases:
niftynet.engine.application_factory.ModuleFactory
Import a network from
niftynet.network
or from user specified string-
SUPPORTED
= {'holisticnet': 'niftynet.network.holistic_net.HolisticNet', 'highres3dnet': 'niftynet.network.highres3dnet.HighRes3DNet', 'highres3dnet_small': 'niftynet.network.highres3dnet_small.HighRes3DNetSmall', 'unet': 'niftynet.network.unet.UNet3D', 'highres3dnet_large': 'niftynet.network.highres3dnet_large.HighRes3DNetLarge', 'vae': 'niftynet.network.vae.VAE', 'toynet': 'niftynet.network.toynet.ToyNet', 'deepmedic': 'niftynet.network.deepmedic.DeepMedic', 'dense_vnet': 'niftynet.network.dense_vnet.DenseVNet', 'scalenet': 'niftynet.network.scalenet.ScaleNet', 'vnet': 'niftynet.network.vnet.VNet', 'simulator_gan': 'niftynet.network.simulator_gan.SimulatorGAN', 'simple_gan': 'niftynet.network.simple_gan.SimpleGAN'}¶
-
type_str
= 'network'¶
-
-
class
ApplicationFactory
[source]¶ Bases:
niftynet.engine.application_factory.ModuleFactory
Import an application from
niftynet.application
or from user specified string-
SUPPORTED
= {'net_regress': 'niftynet.application.regression_application.RegressionApplication', 'net_autoencoder': 'niftynet.application.autoencoder_application.AutoencoderApplication', 'net_segment': 'niftynet.application.segmentation_application.SegmentationApplication', 'net_gan': 'niftynet.application.gan_application.GANApplication'}¶
-
type_str
= 'application'¶
-
-
class
LossGANFactory
[source]¶ Bases:
niftynet.engine.application_factory.ModuleFactory
Import a GAN loss function from
niftynet.layer
or from user specified string-
SUPPORTED
= {'CrossEntropy': 'niftynet.layer.loss_gan.cross_entropy'}¶
-
type_str
= 'GAN loss'¶
-
-
class
LossSegmentationFactory
[source]¶ Bases:
niftynet.engine.application_factory.ModuleFactory
Import a segmentation loss function from
niftynet.layer
or from user specified string-
SUPPORTED
= {'L2Loss': 'niftynet.layer.loss_segmentation.l2_loss', 'Dice': 'niftynet.layer.loss_segmentation.dice', 'L1Loss': 'niftynet.layer.loss_segmentation.l1_loss', 'CrossEntropy': 'niftynet.layer.loss_segmentation.cross_entropy', 'SensSpec': 'niftynet.layer.loss_segmentation.sensitivity_specificity_loss', 'Huber': 'niftynet.layer.loss_segmentation.huber_loss', 'Dice_NS': 'niftynet.layer.loss_segmentation.dice_nosquare', 'GDSC': 'niftynet.layer.loss_segmentation.generalised_dice_loss', 'WGDL': 'niftynet.layer.loss_segmentation.generalised_wasserstein_dice_loss', 'Dice_Dense': 'niftynet.layer.loss_segmentation.dice_dense'}¶
-
type_str
= 'segmentation loss'¶
-
-
class
LossRegressionFactory
[source]¶ Bases:
niftynet.engine.application_factory.ModuleFactory
Import a regression loss function from
niftynet.layer
or from user specified string-
SUPPORTED
= {'L2Loss': 'niftynet.layer.loss_regression.l2_loss', 'MAE': 'niftynet.layer.loss_regression.mae_loss', 'Huber': 'niftynet.layer.loss_regression.huber_loss', 'L1Loss': 'niftynet.layer.loss_regression.l1_loss', 'RMSE': 'niftynet.layer.loss_regression.rmse_loss'}¶
-
type_str
= 'regression loss'¶
-
-
class
LossAutoencoderFactory
[source]¶ Bases:
niftynet.engine.application_factory.ModuleFactory
Import an autoencoder loss function from
niftynet.layer
or from user specified string-
SUPPORTED
= {'VariationalLowerBound': 'niftynet.layer.loss_autoencoder.variational_lower_bound'}¶
-
type_str
= 'autoencoder loss'¶
-
-
class
OptimiserFactory
[source]¶ Bases:
niftynet.engine.application_factory.ModuleFactory
Import an optimiser from
niftynet.engine.application_optimiser
or from user specified string-
SUPPORTED
= {'nesterov': 'niftynet.engine.application_optimiser.NesterovMomentum', 'rmsprop': 'niftynet.engine.application_optimiser.RMSProp', 'gradientdescent': 'niftynet.engine.application_optimiser.GradientDescent', 'adam': 'niftynet.engine.application_optimiser.Adam', 'adagrad': 'niftynet.engine.application_optimiser.Adagrad', 'momentum': 'niftynet.engine.application_optimiser.Momentum'}¶
-
type_str
= 'optimizer'¶
-
-
class
InitializerFactory
[source]¶ Bases:
niftynet.engine.application_factory.ModuleFactory
Import an initializer from
niftynet.engine.application_initializer
or from user specified string-
SUPPORTED
= {'glorot_uniform': 'niftynet.engine.application_initializer.GlorotUniform', 'he_normal': 'niftynet.engine.application_initializer.HeNormal', 'ones': 'niftynet.engine.application_initializer.Ones', 'constant': 'niftynet.engine.application_initializer.Constant', 'uniform_scaling': 'niftynet.engine.application_initializer.UniformUnitScaling', 'zeros': 'niftynet.engine.application_initializer.Zeros', 'he_uniform': 'niftynet.engine.application_initializer.HeUniform', 'orthogonal': 'niftynet.engine.application_initializer.Orthogonal', 'variance_scaling': 'niftynet.engine.application_initializer.VarianceScaling', 'glorot_normal': 'niftynet.engine.application_initializer.GlorotNormal'}¶
-
type_str
= 'initializer'¶
-