[Insight-users] optimizer scales

Luis Ibanez luis . ibanez at kitware . com
Tue, 02 Sep 2003 09:26:19 -0400


Hi Michael,

As long the order of magnitude is the same, is it not that critical
which one to use. I would suggest you to start with the largest one
of them.

Note that this is a value to be selected in milimeters.

You also have a balance between the amount of expected rotation
and the amount of expected translation. Overscaling the translation
will make the rotations too critical, you may want to avoid that
situation.



   Regards,


      Luis


-------------------------
Michael Kuhn wrote:
> Hi Luis,
> 
> thanks for the reply. If I want to use your idea of the diagonal of the 
> image, which diagonal should I use, the one of the fixed or the one of 
> the moving image?
> 
> Thanks,
> 
> Michael
> 
> 
> 
> Luis Ibanez wrote:
> 
>> Hi Michael,
>>
>> Your assumption is correct,
>>
>> The scaling factors must be proportional to the
>> physical extent of the image.
>>
>> These factors are used by the optimizer in order
>> to compensate the difference in dynamic range
>> between the quaternion components and the translation
>> components.
>>
>> I want to get rid of this dependency, simply compute
>> the translation part of the scale as a multiple of the
>> diagonal of your image measured in millimeters.
>>
>>
>>
>> Regards,
>>
>>
>>   Luis
>>
>>
>> -----------------------------
>> Michael Kuhn wrote:
>>
>>> Hi,
>>>
>>> I want to perform a registration between two images A and B for 
>>> different resolutions. This means, I do a registration between images 
>>> A1 and B1 (which, for example, have a size of 100x100x100 pixels in 
>>> unit spacing) and between images A2 and B2 (which contain the same 
>>> image data, but are smaller (for example 70x70x70 pixels, unit 
>>> spacing as well (i.e. their extent is smaller in pixel as well as in 
>>> world coordinates)). I'm using a quaternion transform and a 
>>> quaternion rigid transform gradient descent optimizer.
>>>
>>> Is it correct, that in order to perform the same registration, I have 
>>> to rescale the 'translation scales' passed to the optimizer? Thus, I 
>>> think, if I register A1 and B1 and use a scale array of [1, 1, 1, 1, 
>>> 0.0001, 0.0001, 0.0001] then I have to use a scale array of [1, 1, 1, 
>>> 1, 0.000143, 0.000143, 0.000143] to register A2 and B2 (where 
>>> 0.000143 = 0.0001 / 0.7). Is this assumption correct and does it hold 
>>> for all possible factors (not only for 0.7)?
>>>
>>> Thanks,
>>>
>>> Michael
>>>
>>> _______________________________________________
>>> Insight-users mailing list
>>> Insight-users at itk . org
>>> http://www . itk . org/mailman/listinfo/insight-users
>>>
>>
>>
>>
>>
>> _______________________________________________
>> Insight-users mailing list
>> Insight-users at itk . org
>> http://www . itk . org/mailman/listinfo/insight-users
>>
>>
> 
> 
>