[Insight-users] Evolution : overall pipeline memory print
Julien Michel
julien.michel at c-s.cnes.fr
Fri Nov 9 04:27:05 EST 2007
Karthik Krishnan a écrit :
> Julien:
>
> I can understand your issue with being bogged down by memory. However, I
> don't completely agree with your proposed solution. Here are my
> disagreements.
Karthik,
Thanks a lot for your response. I agree with you on the fact that the
GetMemoryPrint() method will not apply to all DataObjects. Regarding the
step where to call the GetPipelineMemoryPrint() method, I was indeed
planning to do this after a
itk::ProcessObject::GenerateOutputInformation() and a
GenerateInputRequestedRegion() (otherwise it as no meaning at all).
I was hoping that minipipeline would be processed seamlessly by the
recursive call, but maybe I get it wrong.
> In that case, we do not know about the run-time pixel sizes as
> illustrated in point 1. It would work for for images where the
> pixel-size information is known at build time.
Well in our toolkit we recommend the use of VectorImage, from which we
can retrieve the pixel number of components afther an
UpdateOutputInformation(), at run time (but before the
UpdateOutputData()). This is not a problem for us because we always have
the same number of components for all pixels (our images beeing acquired
by remote sensors). Anyway I agree that this does not fit the generic case.
We need to adress this memory problem. The best would be to know the
peak memory usage, but I think we could do well with the overall
pipeline memory usage, even if it is only an estimate that takes into
account only those DataObjects for which we can compute the memory
print. But put this way it sounds more like a workaround and I
understand that ITK would not like to have a workaround stuck into its
very base classes. We would welcome any other suggestion on idea to
solve this problem :o)
Thanks a lot for your reply, and for ITK itself,
Best regards,
Julien MICHEL
More information about the Insight-users
mailing list