using vol2surf with X Y Z F(X,Y,Z) data set

I have a data set which represent the value of a parameter at various spots in a volume. The data was not acquired in a common Cartesian pattern which means that all the X,Y,Z are not equidistant.
I can put the data in some sort of 3D format using various interpolate functions. At the end, I would like to produce a surface which would look like it is wrapped around a set of point corresponding to a range of values of F(X,Y,Z). I watched the "Slicer" tutorial video and they talk about the "imageTransform vol2surf" function but I don't understand what format the data has to be to conform to this function. my data is similar to a series of MRI type slices but obviously not in the proper format. I keep getting the following error: "This image operation supports only unsigned char (/B/U)". All the data points F(X,Y,Z) are of values between 0 and 65535. I am sure the problem is in the way the data is set in the wave which causes the problem.

Thanks

Denis
Hello Denis,

As your data are not sampled on a regular rectangular grid your first step is interpolation. Considering your response from last week I'm guessing you might have some problem with the interpolation unless I misunderstood what you meant by the cylindrical pattern. It might be best if you communicated with me directly; feel free to send me an experiment with sample data so I can have a better idea of what you are dealing with.

A.G.
WaveMetrics, Inc.
If I understand what you're saying, it sounds like you've got the data regularly sampled in Cartesian coordinates using some interpolation. However, vol2surf wants unsigned 8-bit data ("/B/U"). Your data sounds like it is unsigned word (16-bit, 2^16 = 65536). Hence, you must convert it. You can use Redimension for the conversion, but any values over 255 will get "chopped off." To preserve as much dynamic range as possible, the solution is to pre-scale your data to have no values over 255 before casting it into unsigned bytes. Maybe this will do the trick?...

Duplicate data3D_DBL, data3D_U8
WaveStats data3D_DBL
data3D_U8 *= 255/V_max    // rescale
Redimension/B/U data3D_U8    // convert to unsigned byte
ImageTransform vol2surf data3D_U8    // output in M_Boxy


I can't help you after that. Gizmo is above my pay grade.

Nick