[Insight-users] itk::ERROR: BSplineDeformableTransform

Luis Ibanez luis.ibanez at kitware.com
Wed Oct 7 21:20:57 EDT 2009


Hi Darren,

More recently we have found that the LBFGS is
not necessarily the best option for deformable
registration.

Our most recently added examples have been
using the RegularStepGradientDescent optimizer,
with good success.

See for example:

     Insight/Examples/DeformableRegistration15.cxx


You may want to give it a try to this optimizer.

If you do, please let us know how it goes.


      Thanks


              Luis


----------------------------------
On Wed, Oct 7, 2009 at 8:53 PM, Darren Weber
<darren.weber.lists at gmail.com> wrote:
>
>
> On Wed, Oct 7, 2009 at 7:34 AM, Luis Ibanez <luis.ibanez at kitware.com> wrote:
>>
>> Hi Darren,
>>
>> After running your program in GDB, things become clearer.
>>
>> The problem is that in lines 621-624:
>>
>>    bsTransformType::Pointer bsFinalTransform = bsTransformType::New();
>>    bsFinalTransform->SetParameters(
>> bsRegistration->GetLastTransformParameters() );
>>    bsFinalTransform->SetFixedParameters( bsTransform->GetFixedParameters()
>> );
>>
>> You are setting the new parameters values BEFORE setting
>> the Fixed parameters of the transform. The settings of the
>> BSpline grid are part of the Fixed parameters. Therefore, you
>> are passing the values of deformation to all the BSpline grid
>> nodes, without having first specified how many grid nodes
>> there are.
>>
>> The fix is simple:
>> Invert the order of the SetFixedParameters and SetParameters calls.
>>
>> Like
>>
>>    bsTransformType::Pointer bsFinalTransform = bsTransformType::New();
>>    // FIXED parameters MUST Be set first.
>>    bsFinalTransform->SetFixedParameters( bsTransform->GetFixedParameters()
>> );
>>    bsFinalTransform->SetParameters(
>> bsRegistration->GetLastTransformParameters() );
>>
>>
>> With this change, the code runs for me until the end
>> without throwing exceptions.
>>
>>
>> The lbfgs optimizer is still unhappy though...
>>
>>
>
>
> Is there another optimizer that is suitable for the
> BSplineDeformableTransform?
>
> Is there additional documentation available on setting the parameters of the
> LBFGS optimization?
>
> Thanks,
> Darren
>
>
>
>
>


More information about the Insight-users mailing list