Some more thoughts. Instead of just thresholding to get black-and-white bitmap, you can use the threshold just to mask out the outer region of the image, preserving the tones of the inside. Then you can color the triangles based on the corresponding pixel color, whereas the masked out pixels have no triangles.
Why would you want to preserve the tones of the internal pixels? Because then you can do nice stepwise cross-sections and cut-outs operating on the 3D cube in J using the same masking technique. It will allow to see the various layers-- tissues, bones, etc.--in the context of the 3D shape. As in physical visual analysis, it would be good to control lighting and coloring, so it's good to put some interactive controls like sliders on the form, which will complement standard 3D transforms like rotation. If you then would like to produce a movie, consider the Animate addon, http://www.jsoftware.com/jwiki/Addons/media/animate --- Oleg Kobchenko <[EMAIL PROTECTED]> wrote: > In fact you can have a really simple viewer. > > I believe you should leverage the notion of > 3D dot plot or a similar thing in OpenGL. > > You need a binary cube similar to threshold > result as we did for feature recognition. > You have 300 planes, each say 400x400 pixels. > If you load them in memory and do a binary > threshold, and stitch them together, > you should have a 300 400 400=$cube, such that > 0 1=/:~~.,cube. That's exactly the input for viewmat 3D. > And done right, the outside of each plane will > be zero and inside will be ones. > > Try http://www.jsoftware.com/jwiki/Scripts/Plot_3D > After > view3d cube > you should get a picture similar to the Hilbert curve there. > > In order to rotate, zoom, etc. it's better to > do it in OpenGL. Something Lorenz Attractor > http://www.jsoftware.com/jwiki/Essays/Lorenz_Attractor > but with view3D logic, not coordinates. > > Because you have such massive number of points, > to draw each point you need to pick some very simple > geometry, like a single triangle. > > > --- Bj�rn Helgason <[EMAIL PROTECTED]> wrote: > > > I am not ready for such advanced things just yet. > > > > I have been looking at the 3D opengl demos and labs. > > > > I am basically thinking about how to read several bmp files into vars like > > DAT and look at them like the pickcube demo. > > > > Move them around with the x,y,z as in the demos. > > > > Then zoom in and work with slices. > > > > As I picture it I would like to have one 3D view of the cube and then 3 > > other views of planes drawn from the 3D image. > > > > Having 3 lines going through the 3D cube showing the zoom level on each > > plane with markings on the line and set filters. > > > > > > > > 2007/3/23, Oleg Kobchenko <[EMAIL PROTECTED]>: > > > > > > A relevant subject of finding planar paths is > > > called Active Contours and Snakes. > > > > > > Active Contours, Deformable Models, and Gradient Vector Flow > > > http://iacl.ece.jhu.edu/projects/gvf/ > > > > > > A.Blake, M.Isard, "Active Contours" > > > (Introduction, p.17 has just what you ask) > > > http://research.microsoft.com/~ablake/contours/ > > > > > > General > > > http://www.google.com/search?q=active+contours+image > > > http://www.google.com/search?q=active+contour+matlab > > > > > > http://www.google.com/search?hl=en&q=%22image+contour%22+tracking+filetype%3Apdf > > > > > > > > > --- Oleg Kobchenko <[EMAIL PROTECTED]> wrote: > > > > > > > Here's something simple: > > > > > > > > For each plane, > > > > - determine a non-self-intersecting closed path of largest > > > > area that is the boundary between the inner and outer > > > > regions of the body; > > > > - find the center of the path (e.g. center of mass) and > > > > place N points on the path where equiangular rays > > > > from center intersect with it.* > > > > Build OpenGL GL_QUAD_STRIP between each adjacent pairs > > > > of planes matching their 0..N points. > > > > > > > > ______ > > > > * This requires one intersection per ray. > > > > Alternatively, without finding the center, break the > > > > path into N equidistant segments, starting from e.g. (0,max{y}). > > > > > > > > > > > > --- Bj�rn Helgason <[EMAIL PROTECTED]> wrote: > > > > > > > > > I have been working with images in a plane x and y coordinates. > > > > > Thanks to members of this forum I have successfully been able to > > > locate > > > > > objects in that plane and do calculations related to it. > > > > > > > > > > Now I am interested in looking in the z direction. > > > > > > > > > > I have as an example 300 images which are slices through a head from a > > > CT. > > > > > Each slice is a x,y plane and there are objects to be investigated in > > > each > > > > > plane like a slice through the brain. > > > > > > > > > > The same object can then exist in several slices with variations. > > > > > Each slice is interesting but it would be even more interesting to be > > > able > > > > > to put the x,y planes together and be able to look in the z direction > > > and > > > > > also be able to rotate the 3D object. > > > > > > > > > > Then make slices through the cube from various angles. > > > > > > > > > > Is there a tool available in J to do this already? > > > > > > > > > > I have seen various 3D demos but I am not sure if they have been using > > > > > something like 300 BMP files for input. > > > > > > > > > > I do have a Dicom viewer that can look at the images in the way I am > > > > > describing here above and there are a number of tools available to do > > > parts > > > > > of what I want. > > > > > They are all lacking what I have in J in the form of giving a > > > programming > > > > > access to the information I am looking at to combine it with other > > > things of > > > > > interest. > > > > > > > > > > > > > > > > > > ____________________________________________________________________________________ > > > Now that's room service! Choose from over 150,000 hotels > > > in 45,000 destinations on Yahoo! Travel to find your fit. > > > http://farechase.yahoo.com/promo-generic-14795097 > > > ---------------------------------------------------------------------- > > > For information about J forums see http://www.jsoftware.com/forums.htm > > > > > > > > > > > -- > > Björn Helgason, Verkfræðingur > > Fugl&Fiskur ehf, Ãerneyjarsund 23, Box 127 > > 801 GrÃmsnes ,t-póst: [EMAIL PROTECTED] > > Skype: gosiminn, gsm: +3546985532 > > Landslags og skrúðgarðagerð, gröfuþjónusta > > http://groups.google.com/group/J-Programming > > > > > > Tæknikunnátta höndlar hið flókna, sköpunargáfa er meistari > > einfaldleikans > > > > góður kennari getur stigið á tær án þess að glansinn fari af skónum > > /|_ .-----------------------------------. > > ,' .\ / | Með léttri lund verður | > > ,--' _,' | Dagurinn à dag | > > / / | Enn betri en gærdagurinn | > > ( -. | `-----------------------------------' > > | ) | (\_ _/) > > (`-. '--.) (='.'=) > > `. )----' (")_(") > > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > > > > ____________________________________________________________________________________ > Food fight? Enjoy some healthy debate > in the Yahoo! Answers Food & Drink Q&A. > http://answers.yahoo.com/dir/?link=list&sid=396545367 > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ____________________________________________________________________________________ Be a PS3 game guru. Get your game face on with the latest PS3 news and previews at Yahoo! Games. http://videogames.yahoo.com/platform?platform=120121 ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
