Extracting subregions from a data cube [message #60824] |
Fri, 20 June 2008 15:03  |
Chris[5]
Messages: 16 Registered: May 2008
|
Junior Member |
|
|
Hi everyone,
I want to extract a subregion of a data cube. The boundary of the
region would be an isophotal surface (the value of the contour level
would be something like three sigma above the background), and I have
a voxel index that lies inside this boundary (to select only one of
possibly several isophotal clumps).
My knowledge of 3D image analysis is pretty sparse, but I suspect
there may be some built in IDL routines that would get the job done.
I've looked at ISOSURFACE, but that seems to return be boundary
locations (instead of the interior voxels). Off the top of my head, I
wouldn't know how to take this output and 1) select only the isophotal
'clump' that interests me, or 2) calculate whether a given voxel is
inside our outside that boundary.
Any ideas?
|
|
|
Re: Extracting subregions from a data cube [message #60942 is a reply to message #60824] |
Tue, 24 June 2008 01:47  |
Chris[5]
Messages: 16 Registered: May 2008
|
Junior Member |
|
|
On Jun 20, 12:03 pm, Chris <cnb4s...@gmail.com> wrote:
> Hi everyone,
>
> I want to extract a subregion of a data cube. The boundary of the
> region would be an isophotal surface (the value of the contour level
> would be something like three sigma above the background), and I have
> a voxel index that lies inside this boundary (to select only one of
> possibly several isophotal clumps).
>
> My knowledge of 3D image analysis is pretty sparse, but I suspect
> there may be some built in IDL routines that would get the job done.
> I've looked at ISOSURFACE, but that seems to return be boundary
> locations (instead of the interior voxels). Off the top of my head, I
> wouldn't know how to take this output and 1) select only the isophotal
> 'clump' that interests me, or 2) calculate whether a given voxel is
> inside our outside that boundary.
>
> Any ideas?
I've figured out a solution -- for the sake of the forum's
completeness, I'll answer my own question:
To create a mask for a 3D ROI which contains a seed voxel and the
neighboring region above some threshold, do something like
binary=(cube ge threshold)
groups=label_region(binary,/all_neighbors)
index=groups[seed]
return,where(groups eq index)
|
|
|