Git Product home page Git Product logo

spine-ct-mr-registration's People

Contributors

bailiangj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

spine-ct-mr-registration's Issues

About training.py scripts

Hello, I am reading your article. But I can't find the training and inference script files. I hope you can upload them. Thank you!

Should the rigidity loss (PC and OC) be applied on the fixed image mask or moving image mask?

Hi BailiangJ,

Thank you for your great MICCAI paper and for making the code public!

I am also working on DL registration and I have a question about the rigid mask.
If I understand correctly, the PC and OC loss in your paper was applied within the bony mask from the moving image:

“Compared to previous supervised DLIR methods, our approach only requires the moving label (MC 1).”

And I have read the paper "A rigidity penalty term for nonrigid registration" by Staring et al, where they also did it on the moving image:

"The rigidity coefficient image only has to be defined on the moving image. The moving image deforms to the fixed image, so specific parts of the moving image should transform in a rigid fashion. Therefore, the regions that correspond to rigid structures have to be defined on the moving image."

However, when I read the voxelmorph paper and the Elastix manual, I personally think the rigidity loss should be applied on the mask from the fixed image. I have attached the evidence below, but in short the key point is that the deformation field is defined in the fixed image domain. If the deformation field is defined in the fixed image domain, I think the rigidity loss should also be defined on the mask from the fixed image (instead of the moving).

That being said, I do see in both Staring's and your paper, the rigidity loss is defined on the moving mask. I am really confused and stuck at this point and I don't know whether or where I made a mistake. Could you please give me any insights on this issue? Thank you so much in advance.

Evidence from voxelmorph and Elastix manual:

  1. In this GitHub issue from voxelmorph, the author mentioned:

"When warping image moving to image fixed, the deformation field is in the space of the fixed image -- it tells you how to move the moving image to get to each grid location in the fixed image. For example, to get to location (123, 143) into the fixed space, it might tell you to grab (2.2, 1.3) voxels from the moving image. The reason this is a bit "backwards" is because moving pixels in this way enables us to interpolate from the moving image -- that is, we can get the "intensity value" at location (125.2, 144.3) from the moving image by bilinear interpolation, and move it to (123, 143)."

  1. In the Elastix manual:

image
image

Can you release your trained model?

Nice work. However, I found that it's really tough to collect more than 160 paired CT and MRI images as training data. Thus, I would be greatly appreciated if you could release your trained model.

Segmentations for training

Hi @BailiangJ, Thanks for code and repo. What if there is no segmentation for training ? Is this repo customized for this case ?
Is it possible to put step wise training process with commands in readme ?

Thanks
Raj

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.