query about isosurface function

hello, suppose i have a 3D array containing data points, which i have generated by a algorithm, these data points corresponds to cross-sectional view of a complex objects (there may be many objects with in, they may be very close also). i want to color code each object differently and i need transparency. i am new to 3D visualization. can it handle intersection of two objects, if not can i write some code to do so. can i give some extra input to isosurface that will help it to know which points belong to which object. thanks

6 Comments

If you have the same range of data values in two different objects, how do you want to handle the color? Should each object be a single color no matter what the data values?
i have written code that can index/tag the pixel positions telling which pixels belong to which object.
Suppose for the sake of discussion that you have two objects, and that the range of values in the first object is (say) 1 to 4, and that the range of values in the second object is (say) 2 to 6. Now if you are examining a pixel in the first object with data value 3, and a pixel in the second object also has data value 3, then what color should the first pixel be and what color should the second pixel be? Keeping in mind that you have "many objects" so that it would not work to assign different primary color to each object with intensity determined by the value within its range.
Should all of object 1 be given the same color, or should the colors within object 1 vary according to the data value? If so then how should that be done in such a way as to be sure that it does not match any possible color for object #2, object #3, object #many ?
i have pixel locations tagged for different objects, so a same pixel may be tagged for 2 or more objects, this is called the junction point/line and from this point onwards the two object may have same boundary(two object coming and colliding kind of) or they may bifurcate(objects passing through each other).
yes, you made a valid point if it is same boundary, what should be the colour, i was thinking this will be handled by isosurface by making use of any colour it want from the two objects which ever is drawn later. if not then i think i have to retag my data appropriately then. can you please tell how isosurface handle such common surface situation.
For the passing through part, a junction line will be there, what colour it will be. same as above but this time it will be a curve not surface.
Can i draw one object at a time and hold the 3d figure and draw another figure into it like we do for simple multiple graph plot. but if isosurface can handle common points or surfaces then it will be great or there are ways to make it behave it like that, i do not want to retag everything which is like writting another new algo for it. thank you for your replies.
You can "hold on" and then draw more isosurface()
My question was not about boundaries, but boundaries are a good point that I had not considered. My question is about whether for any one object, the colour should be the same all through the object or if instead you need the color to vary with the data values. If you do need the colors to vary according to the data values then it gets more difficult to not accidentally have the same color be used by data values that belong to two different objects. Is it correct that any one color should only be used by one object?
yes, one colour one object. will there be any boundary issue or with hold on it just get fused. also i want transparency.

Sign in to comment.

Answers (0)

Asked:

mjd
on 30 Dec 2015

Commented:

mjd
on 30 Dec 2015

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!