Thanks a lot! The Mark and Compute modules were the clue. The original
question and Chris Pelkie's answer are included below. A printout of my
final network is attached in case somebody is interested.

    ----------------------------------------------------------------
    Carmen San Martin, Ph. D. 
    The Wistar Institute           Email:  [EMAIL PROTECTED]     
    3601 Spruce Street             Phone:  (215) 898-2202
    Philadelphia, PA 19104         Fax:    (215) 898-3868
    ----------------------------------------------------------------

>>>>>>>>> ORIGINAL QUESTION

Dear all,                                                                       
                                 
                                                                                
                                 
   A question from the Structural Biology field. I would like to do an          
                                 
isosurface rendering of a virus in which the color depends on the distance      
                                 
to the center of the virus. My data are 3D arrays of floats and the center      
                                 
of the virus is the center of the array.                                        
                                 
                                                                                
                                 
   Being a DX newbie, the only thing that occured to me was to create           
                                 
another data file of the same size of the virus where the values would          
                                 
correspond to the distance to the center, and then map it onto the virus        
                                 
isosurface. But, since my volumes are LARGE, this would make the program        
                                 
execution impractical, if not impossible.                                       
                                 
                                                                                
                                 
  Can anybody suggest a more practical way to do that?                          
                                 

>>>>>>>>>>>>>>>>>>>>>>>>>


On Mon, 9 Apr 2001, Chris Pelkie wrote:

> [...]
>
> 
> Mark("positions"). This makes the positions the 'data' (preserves the 
> 'data' in 'saved data').
> Now compute the distance vector (sqrt(a.x*a.x + a.y*a.y + a.z*a.z)) in 
> Compute.
> Colormap this 'data'.
> 
> If you need to recover your 'saved data' for some other purpose (like 
> if you haven't done the Isosurface yet), there are a couple tricks. 
> You do NOT want to Unmark because the distance vector values will 
> become (overwrite) the previous positions and screw the field up.
> 
> Trick 1: So I might suggest Unmark("junk") followed by Remove("junk") 
> as the easiest way. The Unmark is often required to counterbalance a 
> Mark, in case you need another Mark downstream. If you don't need to 
> work with the data after the Color operation, you can skip both the 
> Unmark and Remove steps.
> 
> Trick 2: Another way to do this is to Replace the colors from the 
> colored field onto the original field (prior to Mark) as the colors 
> of that field.
> 
> Chris Pelkie
> Vice President/Scientific Visualization Producer
> Conceptual Reality Presentations, Inc.
> 30 West Meadow Drive
> Ithaca, NY 14850
> [EMAIL PROTECTED]
> 
> 

Attachment: isosurface_radial_cue.ps
Description: PostScript document

Reply via email to