Particle::FAQ

From wiki
Jump to navigationJump to search

Back to particle correspondence homepage

Compilation issues

  • What's GenerateCLP_DIR?

A: GenerateCLP is a command line parser that comes with Slicer. You can either download all of Slicer (just google for slicer3, but be warned, it's big!) or just download GenerateCLP on its own. For the latter, here's how: http://www.slicer.org/slicerWiki/index.php/Slicer3:Execution_Model_Documentation#Using_GenerateCLP_Outside_of_Slicer3

  • What exactly do I need to do for compiling this stuff?

A: You need to get ITK, VTK, GenerateCLP, FLTK and NeuroLib. One combo that works for me is: ITK 3.10, VTK 5.2, GenerateCLP from the Slicer3 branch Slicer3.4, FLTK 1.1.9.

Be a good citizen: If you find other combos that work ok, add it here. If you find combos that don't work ok, add it here. If you find combos listed here as ok and do not work for you, add it here.

Using the GUI

  • I can't enter floating point numbers in the correspondence GUI.

A: This is a problem with older FLTK versions. Try 1.1.9.

  • I have only N_1 particles on the surface, but "total particle count" says I have N_2. What does it mean?

A: "Total" refers to the all the shapes in the population, so N_2 should be N_1 times the number of subjects in your dataset.

  • I have saved particle locations from a previous run/I want to initialize the particles a certain way. How do I include these in the correspondence?

A: Add a line to your parameter file (particle.params if you're using Preprocessing) that lists the files containing the particle locations for each one of your surfaces: (point_files "final.0.lpts" "final.1.lpts" "final.2.lpts" (...))

  • How do I choose the value for "relative grad scaling"?

In the "average grad mag" line, there's two output boxes that tell you values, and a third box where you enter a value. Let's say these are A, B and C. You want to choose a value for C such that A and B will be of the same order of magnitude. When you change the value of C, it gets multiplied into B, and you see a new value in B. So if you start out by A=3 and B=500, and you enter C=0.1, in the next iteration the values will be something like A=3 and B=50 (plus a small change because the particles moved a bit in the one step you took). Clearly these are not the same order of magnitude, and you need to enter a different value for C. The appropriate value is 0.01 (or 0.02 or 0.03 but not 0.0001). Note that if you're using a version that also lets you say relative energy scaling, you should set this to the same value as C.

  • It says "itk::ExceptionObject (0x3ed75bd0)

Location: "bool itk::ParticleRegionDomain<VDimension>::ApplyConstraints(itk::Point<double, NImageDimension>&) const [with unsigned int VDimension = 3u]" ITKParticleSystem/itkParticleRegionDomain.h Line: 155 Description: itk::ERROR: ParticleImplicitSurfaceDomain(0x23637a0): Point [bla,bla,bla] is outside of the specified Domain, with bounding box [bla,bla,bla]".

A: You either have initial particles that don't lie on the surface, or have too chunky of a distance transform. Smooth your distance map, and make sure your voxel size is 1-1-1.

I have the corresponding particles, now what?

  • How can I visualize the particles?

A: Try KWMeshVisu. One trick that works well to get a sense of the geometry is to load the original surface, make it mostly transparent, and add particles.