[Insight-developers] Re: Replication of Validation Study

Hans Johnson hans-johnson@uiowa.edu
Tue, 01 Apr 2003 14:03:08 -0600


Lydia,

Thank you for your comments.  I have done some refactoring of your code 
to break it's dependance on the IBSR data set.  I believe that this code 
is much more useful to the general public, because it does not depend on 
  the inputs having specific names and directory structures.  I would 
like to contribute this to ITK, but I don't know where to put it, or how 
to properly give credit to you for the work.

Do you have any suggestions?

Thanks,
Hans

Lydia Ng wrote:
> Hi Hans,
> 
> 
>>---------------------------------------------------------------------
>>1)  What does the ReinitializeLevelSetImageFilter<RealImageType> do?
>>(m_AtlasLabelImage-->Threasholder-->ReinitializeLevelSetImageFilter--
>>
>>>Warper)
>>
> 
> Instead of warping the binary image directly, I warp a signed distance
> map of the distance away from the edges of the labeled structure. The
> method was recommended to me as you get a better more stable warping. A
> similar method is used in [6] for shape based interpolation.
> 
> 
>>2)  Do you have any suggestions on how to get around this problem?
>>
> 
> 
> How about breaking up the pipeline? For example, do an update after the
> reinitilaizer, keep a point to the signed distance image and clean up
> all upstream filters and intermediate images?
> 
> You could also try if ProcessObject::ReleaseDataFlagOn() does what is
> suppose to? :-)
> 
> Cheers,
> Lydia
> 
> 
>>-----Original Message-----
>>From: Hans Johnson [mailto:hjohnson@mail.psychiatry.uiowa.edu]
>>Sent: Monday, March 31, 2003 9:29 AM
>>To: Lydia Ng
>>Subject: Replication of Validation Study
>>
>>Lydia,
>>
>>I am attempting to run a test parallel to your excellent "Validation
>>Study: Atlas-based Brain Volume Segmentation from MRI Images".  I have
>>refactored your BrainStripValidationApp to read from read from
> 
> arbitrary
> 
>>   locations, and everything must be explicitly defined on the command
>>line, but I have made no algorithmic changes.
>>
>>The data that I am attempting to match are T1 weighted images that
> 
> have
> 
>>approximately the same characteristics as your dataset, but they are
>>320x320x384 voxel volumes.
>>
>>The problem that I have is that my data sets are quite large, and I
> 
> run
> 
>>out of memory (3GB+512 swap ~ 3.5GB) during the Atlas labeler stage.
> 
> In
> 
>>particular, the memory explodes during this filter:
>>
>>typedef ReinitializeLevelSetImageFilter<RealImageType> DistanceType;
>>typename DistanceType::Pointer distance = DistanceType::New();
>>
>>distance->SetInput( inputThresholder->GetOutput() );
>>distance->NarrowBandingOn();
>>distance->Update();
>>std::cout << "   ---Atlas Distancemapper Done" << std::endl;
>>
>>
>>Approximate memory usage:
>>start: 0MB
>>registration: ~800MB-1000MB
>>atlas label:  > 3000MB
>>
>>---------------------------------------------------------------------
>>1)  What does the ReinitializeLevelSetImageFilter<RealImageType> do?
>>(m_AtlasLabelImage-->Threasholder-->ReinitializeLevelSetImageFilter--
>>
>>>Warper)
>>
>>2)  Do you have any suggestions on how to get around this problem?
>>
>>----------------------------------------------------------------------
>>Any help would be greatly appreciated.
>>
>>Hans
>>--
>>===================================================================
>>Hans J. Johnson                              W294 GH
>>hans-johnson@uiowa.edu                       Dept. of Psychiatry
>>http://www.psychiatry.uiowa.edu/~hjohnson    The University of Iowa
>>(319) 353-8587                               Iowa City, IA 52242
>>===================================================================
>>
> 


-- 
===================================================================
Hans J. Johnson                              W294 GH
hans-johnson@uiowa.edu                       Dept. of Psychiatry
http://www.psychiatry.uiowa.edu/~hjohnson    The University of Iowa
(319) 353-8587                               Iowa City, IA 52242
===================================================================