Re: How to get an arbitrary sectional slice in 3D array ? [message #55548] |
Mon, 27 August 2007 05:50 |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
Nianming Zuo writes:
> I have a 3D image stored in a 3D array myimg(x, y, z).
> How can I get an artitrary sectional slice image fro such a 3D array
> (Not only along x-, y- or z- direction).
> Namely, given an arbitrary plane with (point, normal_vector) in 3D
> space, which indicates
> that this plane goes through point "point" and normal vector is
> "normal_vector",
> we can easily get the image laied in this plane.
>
> Certainly, we can get the data in arbitrary plane by interpolation. I
> only wonder if
> there is an existing function in IDL ? (my version is 6.0)
Have a look at EXTRACT_SLICE.
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|
Re: How to get an arbitrary sectional slice in 3D array ? [message #55550 is a reply to message #55548] |
Mon, 27 August 2007 02:33  |
Nianming Zuo
Messages: 13 Registered: August 2007
|
Junior Member |
|
|
Airy,
Thank you for your quick reply, and I am really impressed by
your cool demo from your forum. On the other side, I am also
scared by the bunch of code... I will shrink it according
to my requirement. Thank you!
Best,
Nico
On 8 27 , 5 09 , airy.ji...@gmail.com wrote:
> On 8 27 , 4 48 , Nianming Zuo <nianm...@gmail.com> wrote:
>
>> Dear all,
>
>> I have a 3D image stored in a 3D array myimg(x, y, z).
>> How can I get an artitrary sectional slice image fro such a 3D array
>> (Not only along x-, y- or z- direction).
>> Namely, given an arbitrary plane with (point, normal_vector) in 3D
>> space, which indicates
>> that this plane goes through point "point" and normal vector is
>> "normal_vector",
>> we can easily get the image laied in this plane.
>
>> Certainly, we can get the data in arbitrary plane by interpolation. I
>> only wonder if
>> there is an existing function in IDL ? (my version is 6.0)
>
> So far as I know, IDL often define the plane use the plane function
> like:aX+bY=cZ+d=0.If you wanna use a plane to "cut" the 3d image
> array,you can try this method:Mesh_Clip.Maybe this link will be
> useful:http://www.ownearth.net/Forum/view.asp?fid=3&id=8 5.It'sa
> chinese page,but I think that demo maybe useful to you,and the source
> code can be donwload from that page.If you have any questions you can
> contact me with the email.
> Good Luck!
|
|
|
Re: How to get an arbitrary sectional slice in 3D array ? [message #55552 is a reply to message #55550] |
Mon, 27 August 2007 02:09  |
airy.jiang
Messages: 37 Registered: May 2007
|
Member |
|
|
On 8 27 , 4 48 , Nianming Zuo <nianm...@gmail.com> wrote:
> Dear all,
>
> I have a 3D image stored in a 3D array myimg(x, y, z).
> How can I get an artitrary sectional slice image fro such a 3D array
> (Not only along x-, y- or z- direction).
> Namely, given an arbitrary plane with (point, normal_vector) in 3D
> space, which indicates
> that this plane goes through point "point" and normal vector is
> "normal_vector",
> we can easily get the image laied in this plane.
>
> Certainly, we can get the data in arbitrary plane by interpolation. I
> only wonder if
> there is an existing function in IDL ? (my version is 6.0)
So far as I know, IDL often define the plane use the plane function
like:aX+bY=cZ+d=0.If you wanna use a plane to "cut" the 3d image
array,you can try this method:Mesh_Clip.Maybe this link will be
useful:http://www.ownearth.net/Forum/view.asp?fid=3&id=8 5.It's a
chinese page,but I think that demo maybe useful to you,and the source
code can be donwload from that page.If you have any questions you can
contact me with the email.
Good Luck!
|
|
|