dVal = dataOp.data_loader("C:/Datasets/MRI_Data/Recon_v4/Val", 8, 4, 10, False) dTrain = dataOp.data_loader("C:/Datasets/MRI_Data/Recon_v4/Train", 8, 4, 10, False) dL = dataOp.data_loader("C:/Datasets/MRI_Data/Recon_v4/Val", 1, 4, 10, False) d = dL.__getitem__(200) dIn = layers.Input(shape=(256, 256, 2)) mIn = layers.Input(shape=(256, 256, 2)) mul = cl.mulBlock()([dIn, mIn]) # Dumbell Image Domain ifft = cl.ifftBlock()(mul) dumbell = cl.dumbellXL()(ifft) fft = cl.fftBlock()(dumbell) con = cl.conBlock()([mul, mIn, fft]) ifft = cl.ifftBlock()(con) # Dumbell Image Domain dumbell = cl.dumbellXL()(ifft) fft = cl.fftBlock()(dumbell) con = cl.conBlock()([mul, mIn, fft]) ifft = cl.ifftBlock()(con) # Dumbell Image Domain dumbell = cl.dumbellXL()(ifft) fft = cl.fftBlock()(dumbell) con = cl.conBlock()([mul, mIn, fft])
def fftModel(): dIn = layers.Input(shape=(256, 256, 2)) fft = cl.fftBlock()(dIn) model = models.Model(inputs=[dIn], outputs=[fft]) return (model)
sConv01 = cl.convBlock(32, 3, 4)(ifft) sConv02 = cl.convBlock(128, 3, 2)(sConv01) sConv03 = cl.convBlock(256, 3, 2)(sConv02) res01 = cl.resBlock(256, 3)(sConv03) res02 = cl.resBlock(256, 3)(res01) tConv01 = cl.convTransBlock(128, 3, 2)(res02) add = layers.Add()([tConv01, sConv02]) tConv02 = cl.convTransBlock(64, 3, 2)(add) tConv03 = cl.convTransBlock(24, 3, 4)(tConv02) synt = layers.Conv2D(24, 3, padding="same")(tConv03) fft = cl.fftBlock()(synt) con = cl.conBlock()([mul, dMZ, fft]) trimmedCon = layers.Cropping2D(cropping=((3, 3), (3, 3)))(con) underChan = cl.fullChanBlock()(trimmedCon) fullChan = cl.fullChanBlock()(dL) model = models.Model(inputs=[dL, dM], outputs=[fullChan, underChan]) optimizer = optimizers.Adam() train = glob(r"C:/Datasets/*.h5") val = glob(r"C:/Datasets/*.h5") R = 4 # *2 sample_n = 32 # //2 # 'calibration center' size random = False # only applicable for uniform = False, really...
conv14 = layers.Conv2D(256, 3, padding="same", activation="relu")(conv13) tConv03 = layers.Conv2DTranspose(128, 2, strides=2, padding="same")(conv14) concat03 = layers.Concatenate()([tConv03, conv04]) conv15 = layers.Conv2D(128, 3, padding="same", activation="relu")(concat03) conv16 = layers.Conv2D(128, 3, padding="same", activation="relu")(conv15) tConv04 = layers.Conv2DTranspose(64, 2, strides=2, padding="same")(conv16) concat04 = layers.Concatenate()([tConv04, conv02]) conv17 = layers.Conv2D(64, 3, padding="same", activation="relu")(concat04) conv18 = layers.Conv2D(64, 3, padding="same", activation="relu")(conv17) conv19 = layers.Conv2D(2, 1, padding="same", activation="relu")(conv18) fft = cl.fftBlock()(conv18) con = cl.conBlock()([mul, mIn, fft]) ifft = cl.ifftBlock()(con) # Dumbell Image Domain conv01 = layers.Conv2D(64, 3, padding="same", activation="relu")(ifft) conv02 = layers.Conv2D(64, 3, padding="same", activation="relu")(conv01) # Add copy and crop maxP01 = layers.MaxPool2D(pool_size=2, strides=2)(conv02) conv03 = layers.Conv2D(128, 3, padding="same", activation="relu")(maxP01) conv04 = layers.Conv2D(128, 3, padding="same", activation="relu")( conv03) # Add copy and crop using crop03 maxP02 = layers.MaxPool2D(pool_size=2, strides=2)(conv04) conv05 = layers.Conv2D(256, 3, padding="same", activation="relu")(maxP02) conv06 = layers.Conv2D(256, 3, padding="same", activation="relu")( conv05) # Add copy and crop using crop02