Page MenuHomePhabricator

Rigid Registration bug
Closed, ResolvedPublic

Assigned To
Authored By
TE_Cork
Jan 17 2019, 1:05 AM
Referenced Files
F1264378: pointset1.mps
Jan 17 2019, 10:44 PM
F1264379: pointset2.mps
Jan 17 2019, 10:44 PM
F1264371: PointSet.mps
Jan 17 2019, 10:15 PM
F1264370: pointset2.mps
Jan 17 2019, 10:15 PM
Subscribers

Description

Operating System: macOS 10.13.6
Version of MITK: v2018.04

After loading my fixed and moving volume and choosing the Point sets (3 point each for both volumes volume), I initialize the MatchPoint Algorithm Control by selecting and loading the RigidICP.3D.default file. I then select PointSet_2 as my moving image and PointSet_1 as my fixed image. After I click start, I receive this error in the command line.

Registration is outdated. Redetermine registration.

Initializing algorithm ... 
Transfer cached MetaProperties.
Initializing registration components.
Initializing itk registration method.
Set start transformation parameters to: [0, 0, 0, 0, 0, 0]
Connect point sets to itk registration method.

Starting algorithm ... 

Stopped algorithm ... 
Stopping condition: LevenbergMarquardtOptimizer: vnl_levenberg_marquardt: OIOIOI -- lmdif dodgy input vnl_levenberg_marquardt: 0 iterations, 0 evaluations, 3 residuals. RMS error start/end 0/0 

Finalizing algorithm and results ... 

Finalized algorithm ... 
Storing registration object in data manager ... 
Started mapping input data...
Error when mapping data. Error description: /dc/MITK/Modules/MatchPointRegistration/Helper/mitkPointSetMappingHelper.cpp:75: Moving and/or fixed dimension of the registration is not 3. Cannot map point 3D set.

Am I doing something wrong or is it a bug?

Thank for you help.

Tyler

Event Timeline

There seem to be multiple things.

  1. The optimizer stops after 0 iterations. It seems that the amount or "quality" of the point information is not sufficient to dirver the optimizer. So the result might be nonesense.
  2. The automatic mapping fails. If this is due to problem 1. or different problem in the business logic must be checked.

Could you provide the example pointsets that we can check/debug with them?

Another thing: Due to the low number of points, I assume the points in your point set have known correlation (e.g. 1st point in PointSet 1 corresponds to 1st point in PointSet 2). If this is the case, it is normally even better to use other point set algorithm (cosed form solution) instead of the iterative approach. It Asusmes that points in the same point list position correspond to each other and solves the transformation analyticly.

Hi,

I attached the (correct) point set to this thread. Also, I was just testing before putting a lot of time into making a better point set. As you said, these points do have known correlation. Thanks for the quick turn around!

Thanks for the data. If tested it. The results so far

There seem to be multiple things.

  1. The optimizer stops after 0 iterations. It seems that the amount or "quality" of the point information is not sufficient to dirver the optimizer. So the result might be nonesense.

This error message is (with a high probability) the result of the fact, that both sets are identical. Thus the optimizer has no gradients and directly stops with an identity transform.

  1. The automatic mapping fails. If this is due to problem 1. or different problem in the business logic must be checked.

This problem I cannot reporduce on my system (based on the 2018.04 release branch). Tested it multiple times. The mapping (with the resulting identity transform) is correctly performed.
Which version do you use?

  1. Does the problem also occure, if you deactivate the "Generate + store mapped result" option and use the mapping plugin to do it explicitly.
  2. What information can be found in the Details page of the registration (data manager, right click on the registration, "Details...")

As you said, these points do have known correlation.

Then I would definitly also check the closed form solution. As long as the transformation modell (in this case rigid) is suitable, it should perform better and faster, because it can use more knowledge (the correlations) for the model/transformation estimation.

Thanks for the quick turn around!

You are welcome.

Hi,
i just added the correct point clouds. The original one was a duplicate of each other. I get results now with the closed form registration, just need to learn how to use the software now! :) Thanks again!

floca claimed this task.

No problem.

As it seems to not bother you anymore and I cannot reproduce the error, I will close the task for now. We can reopen it, if it reoccures.

If there other questions or problems feel free to open task or send to the mailinglist.
Have fun... looking forward to hear about the results.