Re: IsoSurface [message #39790 is a reply to message #39727] |
Fri, 11 June 2004 06:47   |
Karl Schultz
Messages: 341 Registered: October 1999
|
Senior Member |
|
|
"David Fanning" <davidf@dfanning.com> wrote in message
news:MPG.1b324f1129a39d0d989798@news.frii.com...
> Aleks writes:
>
>> This is the compilation log that I have when I run the program:
>>
>> IDL Version 6.0, Microsoft Windows (Win32 x86 m32). (c) 2003, Research
Systems, Inc.
>>
>> IDL> .compile test
>> % Compiled module: $MAIN$.
>> IDL> .go
>> % Compiled module: BSORT.
>> % Loaded DLM: TIFF.
>> % Compiled module: LOADCT.
>> % Compiled module: FILEPATH.
>> % Compiled module: PATH_SEP.
>> % LOADCT: Loading table B-W LINEAR
>> % Compiled module: SCALE3.
>> % Compiled module: T3D.
>> % POLYSHADE: Expression must be an array in this context: POLYGONS.
>> % Execution halted at: $MAIN$ 19 C:\RSI\IDL60\test.pro
>>
>> And this is the code
>
> Yes, well, the polygons are suppose to be coming
> from the command you have commented out:
>
>> ;Shade_Volume, volume, 81, vertices, polygons, /Low
>> theHead = PolyShade(vertices, polygons, /T3D)
>
> Why did you comment that line out? Have you figured out
> what is a better contouring value than 81? What is the
> minimum and maximum of your data? How is your data
> distributed?
>
> Are you getting all of the messages in this thread? :-)
Aside from the good advice David gave about making sure you are really
calling Shade_Volume and picking the right isovalue, you might try the
ISOSURFACE procedure. It has the same arg list (not kwds) as Shade_Volume,
but uses a different algorithm. It is easy to give it a try.
The error message you got above from POLYSHADE indicates that your vertices
variable is empty, because either you didn't really call SHADE_VOLUME or the
call to SHADE_VOLUME resulted in no surface being generated. The latter can
happen if you don't pick an isovalue appropriate for your data.
Karl
|
|
|