Menu

Non-linear registration of two subjects with blood vessels

Mumu Aktar
2019-09-26
2019-10-17
1 2 3 > >> (Page 1 of 3)
  • Mumu Aktar

    Mumu Aktar - 2019-09-26

    Hello,
    I am trying to register to brain images of separate subjects (both are CTA, already registered between volumes and to template space) which contain only blood vessels. But the arteries aren't matched properly after registration. I'm not sure which parameter I need to tune to solve this issue. I've used the following command :
    antsRegistrationSyN.sh -d 3 -t s -f again58Warped.nii -m again88Warped.nii -n NearestNeighbor -j 1 -o result/deformed66

    I'm looking for suggestion to get perfect matching of these images.

     
    • Nick Tustison

      Nick Tustison - 2019-09-26

      There are too many local minima to get a good registration. You're probably going to need to incorporate additional information such as landmarks to get the quality of registration you want.

       
  • Mumu Aktar

    Mumu Aktar - 2019-09-26

    I want to match atleast the main arteries, also the mca portions and branches of it. I am adding pictures in 2D to show the problems of registration

     
    • Mumu Aktar

      Mumu Aktar - 2019-09-26

      sorry, the original images are attached here as screenshot. First one is fixed, 2nd one is moving

       
      • Nick Tustison

        Nick Tustison - 2019-09-28

        The pictures confirm what I mentioned earlier. You're going to have to incorporate additional information in order to get the registration you want.

         
  • Mumu Aktar

    Mumu Aktar - 2019-09-28

    Thanks.
    But I am not sure what additional information should I use, I've tuned some smoothing factors, convergence rate but it didn't help. Would you please suggest what should I add or which script I can use in ANTs.

     
    • Nick Tustison

      Nick Tustison - 2019-09-28

      See my previous comment --- "You're probably going to need to incorporate additional information such as landmarks to get the quality of registration you want."

      You won't be able to do this by simply changing the parameters in antsRegistration.

       

      Last edit: Nick Tustison 2019-09-28
  • Mumu Aktar

    Mumu Aktar - 2019-09-28

    Hi, sorry I didn't realize it earlier. So you mean I should use ANTSUseLandmarkImagesToGetAffineTransform

     
    • Nick Tustison

      Nick Tustison - 2019-09-28

      What I mean is that you are not going to be able to use only those images to get the registration you want. Most likely you are going to need to provide the landmarks yourself and then use landmark-based tools in ANTs (or in other packages) to derive the correspondence.

       
  • Mumu Aktar

    Mumu Aktar - 2019-09-28

    I am not getting very well how to add the landmarks. Should I take some label points in both the fixed and moving images exactly in the same positions by opening them in ITK-SNAP to get fixedImageWithLabeledLandmarks as well as movingImageWithLabeledLandmarks?

    After that do I need to use ANTSUseLandmarkImagesToGetBSplineDisplacementField.exe to get the transformation?

    As I read some related discussions, I need to take the transformation from it to apply to other images, but what about these fixed and moving images I used for ANTSUseLandmarkImagesToGetBSplineDisplacementField.exe

     
  • Mumu Aktar

    Mumu Aktar - 2019-09-28

    I couldn't save image with landmarks in ITK-SNAP. I tried it on slicer, could get landmark points but they are not saved being superimposed with images rather saved as fcsv files.

    I'm not getting idea how to use that file in ANTs. Also, how to add that as additional similarity term.

    Would you please suggest elaborately?

     
  • Mumu Aktar

    Mumu Aktar - 2019-09-29

    In ITK-SNAP if I save the segmentation image, it just saves the points I choose rather than the full image with the points on top of it. But when I use the image with that point sets in ANTs, it shows segmentation fault

     
    • Nick Tustison

      Nick Tustison - 2019-09-29

      ITK-SNAP should work. You must be doing something incorrect. Please describe how you're trying to save the segmentation image.

       
  • Mumu Aktar

    Mumu Aktar - 2019-09-29

    well, I've opened the nifti image on ITK-SNAP, used the paint brush and selected 6 points as 6 labels, then saved the segmentation image. It just saves the points. Since I'm taking fixed and moving images separately, when I ran with these images, it shows distance error. The deformation field shows nothing .

     
    • Nick Tustison

      Nick Tustison - 2019-09-29

      What do you mean "it just saves the points"? If you save a segmentation image in ITK-SNAP, then you end up with a segmentation image file which should have the points stored as voxels in an image.

       
  • Mumu Aktar

    Mumu Aktar - 2019-09-29

    Hi,
    Thanks for sharing this. Unfortunately, I don't use ANTsR, I am not sure if I can use it on windows with cygwin like ANTs. But after checking car_landmarks.R I found that I should be able to directly put the fixed and moving segmentation images as input to antsRegistrationSyN.sh as initial transformation by using -r [untitled.nii.gz untitled1.nii.gz 1] but it's showing the following error:
    Exception Object caught:

    itk::ExceptionObject (000000000028D938)
    Location: "unknown"
    File: C:\Users\DP\Desktop\ANTs210\Examples..\Utilities\antsCommandLineParser.h
    Line: 130
    Description: itk::ERROR: CommandLineParser(000000000204F120): ERROR: Parse error occured during command line argument processing
    ERROR: Unable to convert '[untitled.nii.gz' to type 'unsigned int' as unsigned int

    Also, I want to solve my problems in antsUSELandmarksBSplineTransform with the images from ITK-SNAP.

    Sorry to ask questions several times.

     
    • Nick Tustison

      Nick Tustison - 2019-10-01

      The first thing to fix is that those aren't the landmarks that the algorithm is expecting. You need point landmarks, not curves.

       
  • Mumu Aktar

    Mumu Aktar - 2019-10-01

    Hi,
    I have tried later with point landmarks and the result is same.
    I did it according to you but it's showing some meaningless results. I am adding my detailed steps here.
    I've taken the labeled segmented images with pint landmarks from ITK-SNAP which are attached.

    I've used this command to get the affine:
    ANTSUseLandmarkImagesToGetAffineTransform untitled.nii.gz untitled1.nii.gz [affine] output.mat

    Further, I've taken the output.mat as initialtransform to antsRegistration as below:

    antsRegistration -d 3 -r output.mat -c 100x100x0 -t SyN[0.1] -m cc[im58.nii,im88.nii,1,2] -f 4x2x1 -s 2x1x0 -n NearestNeighbor -o hhff

    which gives me the transformation and finally I've applied that hhff0GenenricAffine.mat to obtain the desired result by the following:

    antsApplyTransforms -d 3 -r im58.nii -i im88.nii -e 0 -t hhff1Warp.nii.gz -t hhff0GenericAffine.mat -o hhff.nii

    but doesn't give me the desired result:
    image.png

     
    • Nick Tustison

      Nick Tustison - 2019-10-01

      Try breaking it down in steps. First, try just a 2-D example with only a few landmarks and see if you can get that to work. Then we can go onto the next step.

       
  • Mumu Aktar

    Mumu Aktar - 2019-10-01

    ok, I've tried with the car example's images:ford and beetle mentioned by stnava. It's 2D but in antsRegistration if I don't choose dimensionality 3, it doesn't work also! Would you please check if the steps I mentioned above is ok or not. I'm not getting idea why it's not working.

     
1 2 3 > >> (Page 1 of 3)