[Insight-users] Constructing 3D stack from 2D image series (with registration)

Darren Weber darren.weber.lists at gmail.com
Tue Oct 20 20:09:52 EDT 2009


Hi Kishore,

Yes, absolutely right.  In my opinion, this is an "artistic" project
(despite the use of advanced microscopy and image processing techniques).

Some effort is given to maintain a resemblance to an "original" object, but
there can be no clear assertion of accuracy in the work.  At the start,
there are some distortions due to fixing and microtome sectioning of the
samples.  In an ideal world, each section would be a composition of the
object of interest with a microscopic or nanoscopic grid that would provide
a measure for these distortions.  The use of a deformation registration is a
poor attempt to "undo" these deformations.  Of course, it assumes we begin
with an object that has no deformations and that's just not possible in this
project.

Even if the input data had perfect mapping to the original object of
interest, the image processing would introduce some artifacts that propagate
through the series.  The order of the Bspline deformation is low (3) in an
attempt to limit the deformations.

It might be ideal to constrain the alignment process within a short subset
of the image series (maybe 3, 5, 7, or 9 images), with some kind of "sliding
window" to move through the entire series (where the slide would involve
some degree of window overlap).  This may not be a strictly pair-wise image
registration process (it may be an N-way registration) and it might occur
best in a 3D method that was able to maintain a translation between
consecutive images to maintain their separation in 3D space (the
z-spacing).  AFAIK, this "ambiguous" registration method is outside the
design parameters of ITK (where registration puts any TWO images into the
"same" space).

Any suggestions on how to do some kind of "sliding" window registration
would be wondeful.

Take care,
Darren



On Tue, Oct 20, 2009 at 4:51 PM, Kishore Mosaliganti
<kishoreraom at gmail.com>wrote:

> Hi,
>
> From some previous experience on working on a similar problem. I
> observed that if you compose transforms, you might observe artifacts
> such as torsional twisting of geometry.
>
> This torsional twist happens due to the geometry of the image object
> in 3D from which two consecutive slices of a 3D object are drawn. The
> slices hold slightly different geometries that cause a very small
> rotation. This rotation bias builds up as you compose.
>
> Kishore
>
> On Thu, Oct 15, 2009 at 5:20 PM, Darren Weber
> <darren.weber.lists at gmail.com> wrote:
> >
> > We have a series of several thousand 2D microscope images:
> >
> > img0001 ... imgN
> >
> > A simple ITK program uses itkImageSeriesReader to stack the sequential
> > images into a 3D volume for output to a .vtk file.  Without any
> > coregistration of the image series, the result is a mess (as expected).
> >
> > Another ITK program runs registration algorithm(s) on consecutive pairs
> of
> > images in the 2D image series (each pair of images is registered
> > independently of any other images in the series).  It outputs a transform
> > file for each image registration, using file names something like:
> >
> > img0002to0001.xfm
> > img0003to0002.xfm
> > etc.
> >
> > What is an efficient way to combine and apply these transforms using an
> ITK
> > pipeline to 'concatenate' the image series into a 3D stack?
> >
> > My conception of how this might work, in outline, is:
> >
> > a)  begin with img0001
> > apply transform: none
> >
> > b) add img0002 to the stack
> > apply transform: img0002to0001.xfm
> >
> > c) add img0003 to the stack
> > apply transform: img0002to0001.xfm
> > apply transform: img0003to0002.xfm
> > (How to concatenate transforms without resampling image data?)
> >
> > d) add img0004 to the stack
> > apply transform: img0002to0001.xfm
> > apply transform: img0003to0002.xfm
> > apply transform: img0004to0003.xfm
> > (How to concatenate transforms without resampling image data?)
> >
> > etc.
> >
> >
> > In this conception of the problem, the pair-wise registration transforms
> are
> > 'concatenated' to propagate the registration through the entire series.
> > What is the most efficient way to do that in ITK?
> >
> > Is it possible (or reasonable) to associate a transform object (or file)
> > with each 'element' of an itkImageSeriesReader?  If not, is there another
> > convention for creating an ITK filter pipeline or registration pipeline?
> >
> > TIA and take care,
> > Darren
> >
> >
> > _____________________________________
> > Powered by www.kitware.com
> >
> > Visit other Kitware open-source projects at
> > http://www.kitware.com/opensource/opensource.html
> >
> > Please keep messages on-topic and check the ITK FAQ at:
> > http://www.itk.org/Wiki/ITK_FAQ
> >
> > Follow this link to subscribe/unsubscribe:
> > http://www.itk.org/mailman/listinfo/insight-users
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20091020/2fa1900b/attachment.htm>


More information about the Insight-users mailing list