Image reconstruction

I’m looking for a code-based solution that can reconstruct images from points of pixels given pairs of 3D pictures with inputs where 99 % pixels are masked and outputs with 100 % pixels. You can think of input 3D images which are masked with a grid of 9x9x9, so 9 pixels out of 10 are masked in X, Y, and Z directions. Any suggestion would be highly appreciated. Thanks.

Hi @Nurassyl_Battalgazy ,

Here is a small rough outline of the code, and if you think about it, you can change it as per your requirements.

import tensorflow as tf

# define the 3D CNN model
model = tf.keras.Sequential([
    # convolutional layers
    tf.keras.layers.Conv3D(64, kernel_size=(3,3,3), activation='relu', padding='same'),
    tf.keras.layers.Conv3D(64, kernel_size=(3,3,3), activation='relu', padding='same'),
    tf.keras.layers.Conv3D(128, kernel_size=(3,3,3), activation='relu', padding='same'),
    tf.keras.layers.Conv3D(128, kernel_size=(3,3,3), activation='relu', padding='same'),
    tf.keras.layers.Conv3D(256, kernel_size=(3,3,3), activation='relu', padding='same'),
    tf.keras.layers.Conv3D(256, kernel_size=(3,3,3), activation='relu', padding='same'),
    # deconvolutional layers
    tf.keras.layers.Conv3DTranspose(256, kernel_size=(3,3,3), activation='relu', padding='same'),
    tf.keras.layers.Conv3DTranspose(256, kernel_size=(3,3,3), activation='relu', padding='same'),
    tf.keras.layers.Conv3DTranspose(128, kernel_size=(3,3,3), activation='relu', padding='same'),
    tf.keras.layers.Conv3DTranspose(128, kernel_size=(3,3,3), activation='relu', padding='same'),
    tf.keras.layers.Conv3DTranspose(64, kernel_size=(3,3,3), activation='relu', padding='same'),
    tf.keras.layers.Conv3DTranspose(64, kernel_size=(3,3,3), activation='relu', padding='same'),
    # final convolutional layer to get the output image
    tf.keras.layers.Conv3D(3, kernel_size=(3,3,3), activation='sigmoid', padding='same')
])

# compile the model with appropriate loss function and optimizer
model.compile(loss='binary_crossentropy', optimizer='adam')

# train the model on pairs of masked and complete 3D images
model.fit(masked_images, complete_images, epochs=10, batch_size=32)

Thanks and let me know if it helps you.