Giter Club home page Giter Club logo

Comments (7)

kaspermarstal avatar kaspermarstal commented on May 22, 2024 1
  • FixedImagePyramid should be FixedImageSmoothingPyramid for best results (unless memory is really and issue).
  • AutomaticTransformInitialization should be true for rigid and false for affine and bspline.
  • 250 number of iterations is also on the low side. If speed is really an issue, 250 is fine, but if you can afford it use at least 512.
  • Depending on the problem you might want to use at least 3 resolutions. Some places you use 2 which is on the low side.
  • ImageSampler should be RandomSparseMask if users use masks. Otherwise it is fine.
  • If you use a BSplineInterplationOrder of 1 you might as well use LinearInterpolator which produces the same results but is faster.

Otherwise it looks good!

from elastix.

kaspermarstal avatar kaspermarstal commented on May 22, 2024 1

OK great! One comment:

We use external application-specific initializer [...]

OK, then make sure to set AutomaticTransformInitialization to "false" for all parameter maps. It was true for the first one, which will discard your custom initialization.

from elastix.

fedorov avatar fedorov commented on May 22, 2024 1

@Kmacneil0102 can you please update the configuration as suggested above before running the experiments?

from elastix.

kaspermarstal avatar kaspermarstal commented on May 22, 2024

Sure I can take a look @fedorov, but can you link directly to the parameter files or just post them here? It is not clear to me where to obtain the parameter files in the two discussions you listed. Thanks!

from elastix.

fedorov avatar fedorov commented on May 22, 2024

@kaspermarstal thanks!

You can see the parameter files for rigid/affine/b-spline in this pull request:

from elastix.

fedorov avatar fedorov commented on May 22, 2024

@kaspermarstal thank you for the feedback! Since my last update, we did more testing, and the elastix registration unfortunately does not always work. But I am sure we will figure it out with your help! @Kmacneil0102 is currently working to reproduce the issues on a public dataset, and we will update this thread as soon as we have results.

See my responses to your suggestions:

AutomaticTransformInitialization should be true for rigid and false for affine and bspline.

We use external application-specific initializer. The initializer we implemented takes the segmentation masks of the prostate in the two images, aligns their centroids, and then does sparse search to optimize the metric by rotating the images over small range (don't remember now in what plane!). This initializer has been working quite well, and I don't think default initializer could replace it. Unless you already have something similar in elastix?

Depending on the problem you might want to use at least 3 resolutions. Some places you use 2 which is on the low side.

We actually started with the default 3, but then reduced, since our region of interest is quite small (could be as small as 5-10% of the total image volume probably), and so there may not be enough data to subsample. Reducing resolutions helped somewhat with making the configuration more reliable.

We will update the rest of the parameters as you advised - it all makes sense to me!

from elastix.

mstaring avatar mstaring commented on May 22, 2024

closing for now, you can reopen when needed.

from elastix.

Related Issues (20)

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.