Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider using Elastix registration as an alternative registration solution #334

Open
4 of 8 tasks
che85 opened this issue Dec 15, 2017 · 1 comment · May be fixed by #341
Open
4 of 8 tasks

Consider using Elastix registration as an alternative registration solution #334

che85 opened this issue Dec 15, 2017 · 1 comment · May be fixed by #341
Assignees

Comments

@che85
Copy link
Member

che85 commented Dec 15, 2017

Would be nice to be flexible and be able to choose between different registration approaches.

As soon as Elastix is able to save rigid, affine and bSpline separately in a non proprietary format.

For the reference #303

Steps to integrate Elastix into SliceTracker:

  • create initial rigid transform with General Registration (BRAINS):
  • harden transform for moving volume and label (make sure to invert and harden back to original ones afterwards!)
  • resulting transform is: initial transform (BRAINS) * deformable transform (Elastix)
  • set inputs and masks in General Registration (Elastix)
  • use Preset generic (all), but use the following ParameterFiles:
      <ParameterFiles>
        <File Name="Parameters_Rigid.txt" />
        <File Name="Parameters_Affine.txt" />
        <File Name="Parameters_BSpline.txt" />
      </ParameterFiles>
    
  • apply registration
  • add option to select which registration algorithm should be used for SliceTracker registration (Brains, Elastix)
  • add test for registration results
@fedorov
Copy link
Member

fedorov commented Jan 5, 2018

This issue depends on SuperElastix/elastix#18 to be resolved first.

@che85 che85 self-assigned this Jan 22, 2018
@che85 che85 removed the low label Jan 22, 2018
che85 added a commit to che85/SliceTracker that referenced this issue Jan 24, 2018
* SliceTrackerRegistrationLogic expects registration algorithm as a
  parameter in order to be interchangeable
* IRegistrationAlgorithm is the interface that needs to be implemented
  in order to add new registration algorithm
* new configuration entries
* adapted SliceTrackerRegistration widget and cli
* gentle handling if preferred algorithm doesn't exist with giving
  notification and using fallback algorithm (default: BRAINS)

TODO: use own parameter files needs to possible
che85 added a commit to che85/SliceTracker that referenced this issue Jan 24, 2018
* SliceTrackerRegistrationLogic expects registration algorithm as a
  parameter in order to be interchangeable
* IRegistrationAlgorithm is the interface that needs to be implemented
  in order to add new registration algorithm
* new configuration entries
* adapted SliceTrackerRegistration widget and cli
* gentle handling if preferred algorithm doesn't exist with giving
  notification and using fallback algorithm (default: BRAINS)

TODO: use own parameter files needs to possible
@che85 che85 linked a pull request Jan 24, 2018 that will close this issue
che85 added a commit to che85/SliceTracker that referenced this issue Jan 24, 2018
che85 added a commit to che85/SliceTracker that referenced this issue Jan 25, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants