[ITK-users] Region of two labelObjects

Bradley Lowekamp blowekamp at mail.nih.gov
Thu Apr 2 09:00:54 EDT 2015


Hello,

Since I believe that the LabelMap filters change the regions do next to no work, as they can just change the meta-data and the label object can be just grafted when the filter is run in place.

Practically speaking you could just Pad by 10000, then use the AutoCrop to get the desired results? This should still be very efficient since there is not per-pixel based operations done.

HTH,
Brad

On Apr 2, 2015, at 8:52 AM, Pol Monsó Purtí <lluna.nova at gmail.com> wrote:

> Hello Gaëtan,
> 
> Yes I agree, Thinking about it later I also reached the same conclusion that a filter that changes the regions internally without warning could be a pitfall.
> 
> The RegionFromReferenceLabelMapFilter might actually work for me given that I do have the original ROI region and roi image, but I can implement the ComputeBoundingBox() function anyway, it's cleaner if I don't use the original ROI.
> 
> What's the workflow for submitting code? Fork the itk repository, add the method and PR or something else?
> 
> If you'd rather have a filter that does this, I unfortunatelly won't have the time to do it this month (and maybe next)...
> 
> Cheers,
> 
> Pol
> 
> 
> 
> 2015-04-02 14:32 GMT+02:00 Gaetan Lehmann <gaetan.lehmann at gmail.com>:
> Hi Pol,
> 
> 2015-03-30 23:02 GMT+02:00 Pol Monsó Purtí <lluna.nova at gmail.com>:
> 
> Hello all,
> 
> I have two label objects, how can I merge the two BoundingBoxes together so I know the necessary size of the image? (other than creating it myself by searching max/min of each dimension) 
> 
> How come LabelMap doesn't resize automatically when objects are added? It could.
> 
> The LabelMap class was designed to work as much as possible as the Image class, that does not have this kind of behavior, and to avoid as much as possible the costly operations.
> 
> So while I don't think this should be done automatically, we should have some methods or filters to make this easy to do.
> 
> There are a few filters to manipulate the regions of a LabelMap, but none of them does exactly what you need:
> 
> * PadLabelMapFilter that can enlarge the LabelMap region, but not based on its content
> * CropLabelMapFilter that can shrink the LabelMap region, but not based on its content
> * RegionFromReferenceLabelMapFilter that makes the LabelMap region match the region of a reference input image
> * AutoCropLabelMapFilter that reduce the region covered by a label map based on its content, but can't enlarge it
> 
> In my opinion, we should have a ComputeBoundingBox() method in LabelMap that compute the region covered by all the label objects - the code can be moved from AutoCropLabelMapFilter. We could then do
> 
>   labelMap->AddLabelObject(labelObject1);
>   labelMap->AddLabelObject(labelObject2);
>   labelMap->SetRegions(labelMap->ComputeBoundingBox());
> 
> to update the region. 
> 
> Would you agree to implement such a method for the LabelMap class?
> 
> Optionally, we could also think to a filter to do that in a pipeline.
> 
> Regards,
> 
> Gaëtan 
>  
> 
> _____________________________________
> Powered by www.kitware.com
> 
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
> 
> Kitware offers ITK Training Courses, for more information visit:
> http://www.kitware.com/products/protraining.php
> 
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
> 
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/insight-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/insight-users/attachments/20150402/9429093c/attachment.html>


More information about the Insight-users mailing list