Print

Print


Hi Mark

your instant service is great, as is your documentation!

Thanks, Markus


Mark Jenkinson wrote:
[log in to unmask]">
Dear Markus,

I'm happy for people to try out their own schedule files.
The documentation is in $FSLDIR/doc/flirt/schedule.html

It doesn't really cover the paramsubset option (as it is
the newest) but you have probably worked it out anyway.
Basically the first number, N, represents the number of degrees
of freedom you want, and then the other numbers are an Nx12
matrix which specificies how these new degrees of freedom
relate to the fixed 12 DOF. Typically you just put a one
in the appropriate slot, although things like global scaling
involve several of the scaling parameters being set by one
of the "new" degrees of freedom.

The order of the fixed 12 DOF are:
rotation x, y, z, translation x, y, z, scaling x, y, z,
skew xy, xz, yz.

As for the optimise command - you shouldn't need to play with
that too much. This is documented in the schedule.html file
and the numbers simply represent offsets fr om the given point.
Just use the schedule files I sent, but modify the paramsubset
lines. That should give you what you want.

Also note that the schedule files I sent do not include an
initial search phase, since this cannot, at present, be
adapted to different degrees of freedom. Hence the optimisation
is essentially local (although multi-scale) - much like that done
in other packages. You can add perturbations easily enough
though, like those in the standard FLIRT schedule, contained in the
documentation.

Best of luck,
Mark



Markus Weiger wrote:
Dear Mark

I am fascinated by the potential to choose various dofs.
Ideally, of course, I would like to be able to select any combination of
them.

Looking at the schedule files I believe to have found
the place to switch dofs on and of using "setoption paramsubset".
However, there is something going on with "optimise ..." where
I started to struggle. I couldn't find infos about that stuff in the
technical report either.

Do you see any chance for amateurs like me to create these
schedule files ourself, or do we need to "order" them from you?
If the latter is the case, my most urgent wishes would be
(in the order of urgency :)

1D distortion: 1 trans (y) + 1 scale(y) + 1 skew (y)
2D motion + 1D distortion: 1 rot (z) + 2 trans (x,y) + 1 scale(y) + 1
skew (y)
3D motion + 1D distortion: 3 rot + 3 trans + 1 scale(y) + 1 skew (y)

Cheers, Markus

Mark Jenkinson wrote:

Dear Markus,

Yes, FLIRT can do other 2D registrations, but they do require specific
schedule files. I have recently (luckily) made some files for 3, 5 and 6
DOF transformations in 2D. Note that the 2D version that is currently
implemented is in fact 3 DOF, not 4.

The degrees of freedom in these files are:
3 dof = 1 x rotation + 2 x translation
5 dof = 1 x rotation + 2 x translation + 2 x scaling
6 dof = 1 x rotation + 2 x translation + 2 x scaling + 1 x skew

I'll also try to make the 4 dof version (single global scaling) soon.

The way use use these schedule files is like this:

flirt -ref volR -in volI -omat volI_2_volR.mat -2D -schedule sch2D_6dof

Note that you must use the -schedule flag *after* the -2D flag.

The above three schedule files are attached to this email.

All the best,
Mark



Markus Weiger wrote:

Hi Mark

Is it possible to do a FLIRT registration that works
slice-wise (as the 2D option) but allows for more than
only 4 degrees of freedom?

Markus