[Insight-developers] efficient way to avoid the outside pixel ?
Miller, James V (Research)
millerjv at crd.ge.com
Mon Nov 7 08:28:21 EST 2005
Gaetan,
The NeighborhoodIterators support a version of GetPixel(const unsigned i, bool& IsInBounds)
that will tell you whether the pixel you requested is a boundary condition pixel or an interior
pixel. So you can "elegantly" check after calling GetPixel() as to whether it was a boundary
condition pixel or not and avoid using it as necessary.
While this may be "elegant" it may not be "efficient". The method still has to check whether
the pixel in inbounds or not. One could modify the face calculator to divide an image into more
regions, where each region would have exactly the same neighborhood locations inbounds. Currently,
a 2D image is divided into as many as 5 (or maybe 9 regions, I may have changed this a year or two
ago to divide a 2D image into 9 regions). Anyway, one region may have no boundary conditions
and the remainder have at least one boundary condition. But as the code stands currently, I am
not sure that each pixel in each of the regions has exactly the same boundary condition neighborhood
locations. But I could see it being possible to divide the regions into more regions whereby every
pixel in a given region has exactly the same neighborhood indices inbounds. For instance, indices
2, 3, 5, 6, 8, 9 would be in bounds for all iterator positions within the region that touches the
left side of the image but not the top or bottom sides.
Feasible, but not currently implemented this way.
Jim
-----Original Message-----
From: insight-developers-bounces+millerjv=crd.ge.com at itk.org
[mailto:insight-developers-bounces+millerjv=crd.ge.com at itk.org]On Behalf
Of Gaetan Lehmann
Sent: Monday, November 07, 2005 5:29 AM
To: insight-developers at itk.org
Subject: [Insight-developers] efficient way to avoid the outside pixel ?
Hi,
I already asked the question, but didn't get an answer.
Is there an efficient (and elegant) way to avoid getting the pixels
outside the image in a neighborhood iterator ? Most of the time, it is
possible to use a constant boundary value, but it's not really nice, and
not really efficient.
Thanks,
Gaetan
--
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
_______________________________________________
Insight-developers mailing list
Insight-developers at itk.org
http://www.itk.org/mailman/listinfo/insight-developers
More information about the Insight-developers
mailing list