Beispiel #1
0
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])
Beispiel #2
0
def fftModel():
    dIn = layers.Input(shape=(256, 256, 2))
    fft = cl.fftBlock()(dIn)
    model = models.Model(inputs=[dIn], outputs=[fft])
    return (model)
Beispiel #3
0
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...
Beispiel #4
0
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