import tensorflow as tf

    # Wittich design
    def VNET_16L(self, I, is_train, reuse_unet=False, reuse_ada=False, adaption_net=False):

        def encoder_conf(name, X, filter, f_size, scale, norm, reuse, is_train, dropout=0.0, stddev=-1.0, slope=0.00,
                        use_bias=True):
            
            with tf.variable_scope(name) as scope:
                if scale > 1:
                    X = self.conv(name + '_downsample', X, filter, scale, scale, (not norm) and use_bias, "VALID", stddev)
                else:
                    X = self.conv(name + '_conf', X, filter, f_size, 1, (not norm) and use_bias, "VALID", stddev)
                if norm == 'I':
