[Insight-users] Application Checkpointing in ITK
Christopher Wyatt
clwyatt at vt.edu
Tue Sep 5 10:25:16 EDT 2006
On Sep 5, 2006, at 4:29 AM, Gaetan Lehmann wrote:
> On Mon, 04 Sep 2006 22:55:51 +0200, Christopher Wyatt
> <clwyatt at vt.edu> wrote:
>
>>
>> I am interested in implementing checkpointing in a long ITK
>> pipeline, so that portions of the
>> pipeline output can be made persistent and loaded rather than
>> recomputed. While this is trivial
>> to do in a given application, it seems that this functionality
>> should not be too hard to add to ITK
>> at the library level.
>>
>> Before beginning this endeavor, I wanted to see if anyone else was
>> working on this
>> or would have an interest in using such functionality (nothing
>> showed up in the itk-users archive
>> or the developer archive, although the latter is hard to search).
>
> Hi,
>
> I would be interested in using that, but I can't see how you want
> to implement that.
> Can you give a little more details about what you think to do ?
>
> Thanks,
>
> Gaetan
My first thought would be to reuse the logic for updating filters if
the inputs change. The checkpointing
would work similar to the following.
someFilterPointer->SetInput( previousFilter->GetOutput() );
someFilterPointer->SetParameter( 24 );
someFilterPointer->AddCheckpointFile( "SomeFilterPersistentFile" );
anotherFilterPointer->SetInput( someFilterPointer->GetOutput() );
anotherFilter->Update();
When the update on anotherFilter is called, the pipeline checks each
previous
filter to see if it need to be recomputed. In the case of someFilter,
on the first or later calls,
it can load the data from "SomeFilterPersistentFile", before checking.
The difficulty is knowing if the data from the previous filter has
changed, since that
cannot be preserved between program instances. I was thinking of
using a message
digest (hash) for this on the output data of filters, but there may
be complex issues with
that I have not considered.
-- chris.
>
>
> --
> Gaëtan Lehmann
> Biologie du Développement et de la Reproduction
> INRA de Jouy-en-Josas (France)
> tel: +33 1 34 65 29 66 fax: 01 34 65 29 09
> http://voxel.jouy.inra.fr
More information about the Insight-users
mailing list