[vtkusers] Problem visualizing an image gradient vector field
    Dean Inglis 
    dean.inglis at sympatico.ca
       
    Wed Oct 18 09:15:19 EDT 2006
    
    
  
Hi Oscar,
if your original image is a 2D image, then you
have to set the gradient filter correctly (I think
it will do this for you automatically)
hgrd SetDimensionality 2
then try padding the gradient image with zeros:
vtkImageConstantPad pad
pad SetOutputNumberOfScalarComponents 3
pad SetOutputWholeExtent [ hgrd GetOutputWholeExtent ] 
pad SetConstant 0
pad SetInput [ hgrd GetOutput ]
this will give you a 3D vector field, 
so use a vtkArrowSource instead of a vtkGlyphSource2D:
vtkArrowSource arrow
vtkGlyph3D field
field SetInput [ ... whatever vector field you want ... ]
field SetSource [arrow GetOutput] 
field SetVectorModeToUseVector
field SetScaleModeToDataScalingOff
field OrientOn
field SetScaleFactor 0.05
HTH,
Dean
vtkImageGradient hgrd
   hgrd SetInput [ himg GetOutput ]
   hgrd SetDimensionality 3
   hgrd HandleBoundariesOn
vtkImageShrink3D hgsub
   hgsub SetInput [ hgrd GetOutput ]
   hgsub SetShrinkFactors 5 5 1
vtkAssignAttribute hg
   hg SetInput [ hgsub GetOutput ]
   hg Assign SCALARS VECTORS POINT_DATA
...
# building the glyph
vtkGlyphSource2D arrow
   arrow SetGlyphTypeToArrow
   arrow SetScale 0.2
vtkGlyph3D field
   field SetInput [ hg GetOutput ]
   field SetSource [ arrow GetOutput ]
   field ScalingOn
   field OrientOn
   field SetScaleFactor 0.05
...
    
    
More information about the vtkusers
mailing list