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.