niftynet.network.simple_gan module

class GenericGAN(generator, discriminator, name='generic_GAN')[source]

Bases: niftynet.layer.base_layer.TrainableLayer

### Description Generic Generative Adversarial Network

### Diagram

RANDOM NOISE –> [GENERATOR] –> [DISCRIMINATOR] –> fake logits TRAINING SET ——————> [DISCRIMINATOR] –> real logits

### Constraints

layer_op(random_source, population, is_training)[source]
class SimpleGAN(name='simple_GAN')[source]

Bases: niftynet.network.simple_gan.GenericGAN

### Description Specification of generator and discriminator for generic gan

### Building blocks [GENERATOR] - See ImageGenerator class below [DISCRIMINATOR] - See ImageDiscriminator class below

### Diagram

RANDOM NOISE –> [GENERATOR] –> [DISCRIMINATOR] –> fake logits TRAINING SET ——————> [DISCRIMINATOR] –> real logits

### Constraints

class ImageGenerator(hidden_layer_channels, name)[source]

Bases: niftynet.layer.base_layer.TrainableLayer

### Description

### Diagram

### Constraints

__init__(hidden_layer_channels, name)[source]
Parameters:
  • hidden_layer_channels
  • name – layer name
layer_op(random_source, image_size, is_training)[source]
Parameters:
  • random_source – tensor, random noise to start generation
  • image_size – output image size
  • is_training – boolean, True if network is in training mode
Returns:

tensor, generated image

class ImageDiscriminator(hidden_layer_channels, name)[source]

Bases: niftynet.layer.base_layer.TrainableLayer

### Description

### Diagram

### Constraints

__init__(hidden_layer_channels, name)[source]
Parameters:
  • hidden_layer_channels – array, number of output channels for each layer
  • name – layer name
layer_op(image, is_training)[source]
Parameters:
  • image – tensor, input image to distriminator
  • is_training – boolean, True if network is in training mode
Returns:

tensor, classification logits