users > alignment of subvolume
Showing 1-7 of 7 posts
Display:
Results per page:
Apr 6, 2016  09:04 AM | Michael Kunst
alignment of subvolume
Hi,

I was wondering if it is possible to register parts of a brain onto a whole brain target brain with CMTK. I'm working on microscopy data with at least two channels (one of them the reference channel for the alignment). I am imaging at high resolution but I'm ultimately only interested in a subvolume of the brain, but not always the same subvolume. In order to increase our imaging speed it would be helpful if I wouldn't have to scan the whole brain each time. 

Thanks,
Michael
Apr 10, 2016  05:04 AM | Torsten Rohlfing
RE: alignment of subvolume
Hi Michael -

The general answer is, yes, it is possible.

In detail, however, there are some practical issues you need to consider:

a) initialization - if you give it a large and a small FOV image, CMTK cannot figure out where the smaller roughly belongs in the larger one. You'd have to provide a reasonable initial transformation (perhaps based on landmarks or some  metadata about the relative scanning locations).

b) transformation constraints - if all you need is a rigid alignment to compensate for shift and rotation, then you have a decent chance of succeeding. That would be the case if you scanned the complete volume for one channel, but only a subvolume for the other channel, yet ultimately both images are from the same specimen in the same setup. If you had, say, a large volume for an atlas and then a smaller volume from another specimen, you'd probably be out of luck. That's because you'd likely need a nonrigid alignment, for for that to be reliable, the data would need to provide sufficient constraints to keep the transformation reasonable (for rigid transformation, it's the rigidity constraint itself that does that).

Hope this makes sense.

Best,
  Torsten
Apr 10, 2016  08:04 AM | Greg Jefferis
RE: alignment of subvolume
Just to add to this that for fly brains we have had pretty good success with partial volumes - say 1/4 to 1/8 of the original volume - with nonrigid registration. As Torsten says, an initialisation is very helpful and for that having the anterior and posterior surfaces of the brain works best with our specimens.

However there are a couple of other strategies to consider that may improve things

1. Take a low res scan of your whole specimen. Then take a high res detail sub volume. Register the low res to the template and the high res to that. Optionally re-register the high res initialising with the preceding transformation (this is easy if you the high res to low res registration is rigid/affine only).

2. Specify a target subvolume in the template using the crop options.

3. Similar to combining 1 & 2: make a subvolume template from the same specimen(s) as the full brain template and therefore with easily calculated sub to full registrations. Then register your specimens to that.

Torsten, would be interested to hear your thoughts on these strategies all of which either we or colleagues have tried. I think option 1 is the most reliable.

Best,

Greg b


Apr 11, 2016  07:04 AM | Michael Kunst
RE: alignment of subvolume
Hi Torsten and Greg,

thanks for your advice. We have been trying something similar to Greg's option 3 with mixed results so far. The problem for now is that people haven't acquired low res scan of the whole brain (btw we are working with zebrafish). I'll tell people in the future to acquire a low res scan.

I have a few (naive) questions about this approach. In order for it to work, do I have to specify the crop when I align the high-res subvolume to the aligned low-res full volume? I assume in order to make this alignment work I have to use real-world coordinates (aka µm) and not pixel coordinates?

And finally, the proposed workflow of commands will be:

First align the low-res-volume to the full-volume template:

registration [options] -o affine.xform template.nrrd low-res-full-vol.nrrd
warp [options] -o warp.xform --initial affine.xform template.nrrd low-res-full-vol.nrrd
reformatx -o low-res-full-vol-aligned.nrrd --floating low-res-full-vol.nrrd template.nrrd warp.xform

Then I will align the high-res-subvolume to the aligned low-res full volume:

registration [options] -o affine.xform low-res-full-vol-aligned high-res-sub-vol.nrrd
warp [options] -o warp.xform --initial affine.xform low-res-full-vol-aligned.nrrd high-res-sub-vol.nrrd
reformatx -o high-res-full-vol-aligned --floating high-res-sub-vol.nrrd low-res-full-vol-aligned.nrrd warp.xform

Is that more or less correct?

Thanks,
Michael
Apr 12, 2016  03:04 AM | Torsten Rohlfing
RE: alignment of subvolume
Hi Greg -

I am not surprised that you think Option 1 is superior to 2 and 3. If I had to guess, I would say that field-of-view coverage is way more important than high resolution when it comes to registration with reduced data volume.

Essentially, having a low-res volume to register to isn't much different from the initial, highly downsampled and blurred stages of CMTK's registration algorithms.

In the end, it's much more important to know where something truly ends (as opposed to being truncated), rather than to know with high level detail what exactly the remaining truncated subvolume looks like.

My general rule is, however, to not let my (or anyone else's) predictions get in the way of someone's actual practical experience, so whatever you folks find to be working, I'll be happy to agree with ;)

Cheers,
  Torsten
Apr 15, 2016  04:04 AM | Torsten Rohlfing
RE: alignment of subvolume
Hi Michael -

Sorry for the delay.

The first part of your workflow looks okay to me:
Originally posted by Michael Kunst:
registration [options] -o affine.xform template.nrrd low-res-full-vol.nrrd
warp [options] -o warp.xform --initial affine.xform template.nrrd low-res-full-vol.nrrd
reformatx -o low-res-full-vol-aligned.nrrd --floating low-res-full-vol.nrrd template.nrrd warp.xform

(Except I am not sure the reformatx step is necessary, but see below).

The second bit, though, seems a bit sketchy:

Then I will align the high-res-subvolume to the aligned low-res full volume:

registration [options] -o affine.xform low-res-full-vol-aligned high-res-sub-vol.nrrd
warp [options] -o warp.xform --initial affine.xform low-res-full-vol-aligned.nrrd high-res-sub-vol.nrrd
reformatx -o high-res-full-vol-aligned --floating high-res-sub-vol.nrrd low-res-full-vol-aligned.nrrd warp.xform

Why would you register the high-res subvolume to the low-res volume after reslicing it to template space? That does not make that registration any more reliable.

What I think you want to do after aligning the low-res full volume to the template is this:
  • align the high-res-subvolume to the low-res-full-volume, both in their native space. Ideally, that should require only a translation, and perhaps you even know the approximate offset based on your imaging setup.
  • concatenate the warp transformation from template to low-res-full-volume with the low-res-full to high-res-subvolume transformation (by listing them both in that order on the reformatx command line), thus reformatting the full-res subvolume into template space.
Does that make sense?

Best,
  Torsten
Apr 18, 2016  10:04 AM | Michael Kunst
RE: alignment of subvolume
Hi Torsten,

yes, that makes sense. I'll let you know how it worked.

Best,
Michael