adalca / patchRegistration

Patch based Discrete Registration.
7 stars 3 forks source link

Tuning the input parameter values for registering renal cancer tissue images #4

Closed MahsaPaknezhad closed 4 years ago

MahsaPaknezhad commented 4 years ago

Dear Andreea and Adrain, May I ask you another favor? I am trying to use your algorithm to register renal cancer tissue images using your algorithm. The images are down-sampled to 4098 pixel x 2048 pixel size. I tried different parameter values (patch size, search size, grid spacing, ...) and ran the code. However, I have not achieved the desired registration output yet. I believe I am not using proper values and since the execution take time I thought I shall ask you for advice on the range of values I need to try. May Images look like the image in the following link: An example of renal cancer tissue images

I have tried the following values: patch size = 5x5, grid size = 3x3, grid spacing = 3x3, nInnerReps = 3, doAffine = true, method = resize , nScale = 4, minVolSize = 256, reg = mrf, nStates = complete, metric = sparse, location = 0.001


patch size = 5x5, grid size = 3x3, grid spacing = 3x3, nInnerReps = 3, doAffine = true, method = resize , nScale = 4, minVolSize = 256, reg = mrf, nStates = 8, metric = sparse, location = 0.01


patch size = 5x5, grid size = 3x3, grid spacing = 3x3, nInnerReps = 3, doAffine = true, method = resize , nScale = 4, minVolSize = 256, reg = mrf, nStates = 8, metric = seuclidean, location = 0.01


patch size = 7x7, grid size = 3x3, grid spacing = 3x3, nInnerReps = 3, doAffine = true, method = resize , nScale = 4, minVolSize = 256, reg = mrf, nStates = complete, metric = euclidean, location = 0.001


patch size = 11x11, grid size = 9x9, grid spacing = 7x7, nInnerReps = 3, doAffine = true, method = resize , nScale = 4, minVolSize = 256, reg = mrf, nStates = complete, metric = sparse, location = 0.01 I appreciate your help and look forward to hearing from you soon. Best Wishes, Mahsa

adalca commented 4 years ago

Hi @MahsaPaknezhad ,

Thanks for your continued interest in PBR. Just for my understanding, can you show us exactly the two input images you are looking to register (the included image i assume was meant to just give an idea of the patterns/type)? I'm trying to understand if you are using PBR because there is some sparsity involved (which is what PBR was originally aimed at) or if your images are in some sense normal density.

In terms of results, it would be optimal to see a screenshot with: <moving image | fixed image | moved image | deformation field>

Thanks!

MahsaPaknezhad commented 4 years ago

Dear Adrian, Thank you for your reply. Our data set consists of images acquired from renal cancer tissue. A volume of cancer tissue is cut into thin slices and acquired using whole slide imaging. Therefore, the acquired images are sparse and there are severe deformations due to manual cutting of the tissue which can result in tearing, compressing, or stretching the tissue. Please fine two consecutive image slices attached as an example.

![First image]() ![Second image]()

Best Wishes, Mahsa

adalca commented 4 years ago

hi @MahsaPaknezhad, Thanks! Are you trying to register one (potentially deformed and ripped) slice to another?

MahsaPaknezhad commented 4 years ago

Hi! Yes, that's the goal.

adalca commented 4 years ago

I see. We should probably have made this more clear. PBR is meant for registering one 'sparse' scan to another. Mapped to your project, that would be registering one volume of cancer tissue to another, with the sparse slices, which is not what you're trying to do (please correct me if I'm wrong).

PBR can also be used to register what you are doing -- especially since you have tears (for which you would need masks with PBR), but it's not what we designed it for. While we are happy to help you try to use PBR for this, you might want to check out our other registration project at http://voxelmorph.mit.edu/ and try running this in 2D. I think if you plan to register several of these images pair, it will be a more appropriate package than PBR, which was really aimed at the sparse volume2volume setting I mentioned above.

Thank you,

MahsaPaknezhad commented 4 years ago

Dear Adrian, Unfortunately, we do not have enough samples to train a CNN model. I would appreciate that if you could guide me on how I can use PBR to register my images in 2D.

Thanks, Mahsa

adalca commented 4 years ago

@MahsaPaknezhad perhaps it would be great to continue via email since it's specific to your problem? please feel free to email us directly.

p.s. you say above that you downsample your images to 4k x 2k. That's enough data to train the CNN by itself!