Closed bent1e closed 1 year ago
Hi @bent1e ,
We didn't test SYMNet on the abdominal CT registration task before. It may works if you follow the preprocessing pipeline of our paper in https://link.springer.com/chapter/10.1007/978-3-030-71827-5_7. The CT windowing technique and downsampled input images are critical for this task.
I follow your advice and process my abdominal data set. I conduct down sampling and windowing techniques on the data set, so that the window of the CT image is concentrated in the abdominal region. But the effect of training again is almost the same as before
Hi @bent1e,
The CT Abdominal task is not trivial for deep learning-based methods. Perhaps you should try it on some simple architectures such as VoxelMorph first. (To validate your preprocessing pipeline)
Since this method shares a similar transformation model as VoxelMorph, it will only work if the VoxelMorph can be applied to this task. Validating your preprocessing pipeline on a simpler method can greatly reduce the debugging time.
In the literature, abdominal CT registration is often paired with masks to define the region of interest. But, the masks for this task are not provided which makes it even more difficult to learn. Instead, I applied CT windowing technique and made sure that the background intensity of each image is 0. Then, in the similarity measure, I masked the similarity function with a mask computed on the fixed image, i.e., intensity > 0. This helps to further stabilize the training.
To iterate, we didn't test SYMNet on the abdominal CT registration task before. It is not designed to accommodate the large deformation in inter-subject abdominal registration and we are not sure whether it can be applied to this task.
Thank you for your earlier advice. At present, I try to train with a dataset different in size from OASIS, but the program fails. My dataset size is (x,y,z) =(220, 220, 120). May I ask what caused this problem?
Hi @bent1e,
The SYMNet uses 5-level U-Net architecture, which has 4 downsampling and upsampling operators. Therefore, you have to make sure the size of each dimension is divisible by 2^4=16 in order to avoid the rounding error. Padding zeros or resize the images can be used in your case.
I try to train a new dataset with your code, I first make use of AntsPy to rigidly register and normalize this dataset to [0, 1] Training data: Learn2Reg Task 3 Data : https://learn2reg.grand-challenge.org/Datasets/
I try to train a new dataset with your code, I first make use of AntsPy to rigidly register and normalize this dataset to [0, 1] My loss has remained at -0.31 since the beginning and varied within a range, dice has remained at 0.16
Thanks a lot!
Yours, bentle