Nick,

I hope you can make it to today's TCON. I can demo that notebook I linked too. 
It should clarify things.

Brad

On Jul 30, 2014, at 1:57 PM, Nicholas Tustison <[email protected]> wrote:

>> To try to summaries... sorry if have not been clear enough in my 
>> explanations.
> 
> No, I blame me—I’m consistently distracted by the scenery outside here in
> California and it’s definitely affecting my ability to concentrate on code
> questions.
> 
>> INITIAL QUESTION
>> 
>> How does composite transform and the "Center" parameter interact? How does 
>> this relate to the virtual domain?
> 
> The composite transform is agnostic with respect to whether or not a 
> transform has a center or any other fixed parameter set.  The only
> distinction we make is typology with respect to linear/deformable. To 
> be clear, we’re not discussing any of the  “Centered” transforms:
> 
> * CenteredAffineTransform
> * CenteredEuler3DTransform
> * CenteredEuler2DTransform
> * CenteredSimilarity2DTransform
> 
> None of those transforms are used in ANTs but I don’t think 
> their optimization would be an issue in the new ITKv4 registration 
> framework.
> 
> The virtual domain is simply defined in terms of standard image 
> geometry (origin, spacing, etc.) and is currently set in terms of the 
> fixed image geometry.  
> 
>> MY UNDERSTANDING
>> 
>> 1) Using a "Center" initialized transform only works correctly for a single 
>> transform and directly with a composite. ( This is with the current center 
>> initializers, a different approach could be done which takes into 
>> consideration the composition )
> 
> I don’t see why it would only work correctly for a single transform.  Suppose
> I optimize a translation transform to get it’s optimal parameters for a given
> registration problem.  It’s not clear to me why it would be a problem to 
> follow
> that with optimizing an Euler3D transform (which we do all the time in ANTs). 
>  
> Obviously, we have to specify a staring point for the second transform (which
> is identity by default) and perhaps it would be better to have a different 
> starting point but I don’t see why starting with the default parameters is a 
> problem.
> 
> If the “Center initialized transform” is one of the transforms listed above 
> then we don’t use those.  If it’s simply the result of using the 
> CenteredTransformInitializer, then we just pull the itk::TranslationTransform 
> part from the result and push that translation transform into the composite 
> transform queue.   I don’t see why it would be a problem to then optimize, 
> for example, the Euler3DTransform which just has 3 translation parameters 
> and 3 angle parameters to optimize where the center is implicitly defined 
> (unlike the CenteredEuler3DTransform which does have additional Center 
> parameters).  
> 
>> 2) The virtual domain should be initialized such that the two images 
>> "Center"s are at the origin. This an alternative to using the "Center" 
>> transform parameters, and better works with composite transforms.
> 
> Yes, that would probably be a better initialization but I don’t know why it 
> would
> be a problem for the current framework to optimize with the origin elsewhere.
> Right now, each transform within the composite transform queue is 
> optimized starting from its identity parameters but perhaps the initializer
> idea that you propose would improve optimization. 
> 
>> I was not aware that 2 was the best practice with the ITKv4 framework. Do we 
>> have any examples/test/documentation to indicate this?  Further more using 
>> the current CenterTransformInitalizers to initialize the virtual domain is 
>> not readily apparent[1] how to map the parameters.
>> PROPOSAL
>> 
>> Perhaps we need a new Initializer filter to assist with initializing the 
>> virtual domain to initialize this practice? 
>> 
>> Brad
> 

_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html

Kitware offers ITK Training Courses, for more information visit:
http://kitware.com/products/protraining.php

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://public.kitware.com/mailman/listinfo/insight-developers

Reply via email to