[Paraview] Stream Tracer in eigenvector field

Burlen Loring bloring at lbl.gov
Fri Aug 23 16:31:04 EDT 2013


Eigenvectors are unique up to a constantso if you took any eigenvector 
and multiplied it by -1 it's still an eigenvector. You could see it in 
the definition,

M x=\lambda x

eigenvector x appears in both sides of the eqn.

I had a similar problem with tensor glyphs in ParaView. In that case I 
was able to solve by looking at the sign of the determinant of the 
transformation matrix (see bug report, patch and mail list posts below). 
I wonder if you could adapt/build on this solution there to solve your 
issue here?

http://vtk.org/Bug/view.php?id=12179
http://vtk.1045678.n5.nabble.com/tensor-glyph-inward-pointing-surface-normals-td4388361.html

Burlen


On 08/23/2013 01:10 PM, Andy Bauer wrote:
> Hi Paul,
>
> Apologies as my math is a bit rusty but isn't the sign of the 
> eigenvector related to the sign of its corresponding eigenvalue? In 
> that case if you make sure that all of the eigenvalues are positive 
> then all of their corresponding eigenvectors should be aligned 
> properly. If that's the case and you have access to the eigenvalues of 
> the eigenvectors you could use the calculator or python calculator to 
> properly orient the eigenvectors.
>
> In any case, if you can come up with an algorithm that properly 
> orients the eigenvectors you should be able to do that in the python 
> calculator or calculator filters. If not, then things could get a bit 
> hairy as far as computationally figuring out which is the "proper" 
> direction your eigenvalues should have.
>
> Regards,
> Andy
>
>
> On Fri, Aug 23, 2013 at 3:38 PM, pwhiteho <pwhiteho at masonlive.gmu.edu 
> <mailto:pwhiteho at masonlive.gmu.edu>> wrote:
>
>     The term "eigenvector", used to describe the principal directions
>     of a tensor, is a bit of a misnomer since it's not a "vector" as
>     interpreted by the Stream Tracer filter - it's more accurately
>     bi-directional like tension/compression and could be termed
>     "eigenaxis/eigenaxes". When interpreted as a vector, there is an
>     inherent sign ambiguity in each eigenvector - the sign is
>     indeterminate and one is free to choose + or -, and that is
>     exactly what Mathematica does ( likely true for other routines also ).
>
>     I've been using Mathematica to prototype computations for the
>     investigation of tensor topology which I then visualize in
>     ParaView. Eigen-decomposition of a tensor field at each grid point
>     returns an orthonormal set of eigenvectors, uncorrelated with any
>     neighbors. Taken separately, each eigenvector field exhibits large
>     regions of smoothly varying orientation, but there are systematic
>     and random reversals of orientation that confound the Stream
>     Tracer filter, sending streamlines wandering around the field.
>     What is needed is a true tangent curve ( tensor line ) integrator
>     that would avoid "doubling back" as the "streamline" propagates,
>     similar to the scheme of Weinstein, et. al., ( IEEE VIS'99 ) which
>     computes the dot product of the incoming propagation vector with
>     the eigenvector; and if near -1, negate the outgoing propagation
>     vector. This can also be fancied-up to accommodate noisy initial
>     tensor data as in Weinstein.
>
>     I think I would be taking on too much at this point in learning to
>     write my own filter so have been exploring ways to pre-process the
>     eigenvector fields before visualizing in Paraview, but I ask:
>     1. Have I missed something in existing filters that would handle this?
>     2. Can the existing Stream Tracer be modified?
>     3. Does the eigenvector routine in ParaView yield the same sign
>     ambiguity among uncorrelated computations?
>
>     Thanks,
>     Paul W
>
>
>     _______________________________________________
>     Powered by www.kitware.com <http://www.kitware.com>
>
>     Visit other Kitware open-source projects at
>     http://www.kitware.com/opensource/opensource.html
>
>     Please keep messages on-topic and check the ParaView Wiki at:
>     http://paraview.org/Wiki/ParaView
>
>     Follow this link to subscribe/unsubscribe:
>     http://www.paraview.org/mailman/listinfo/paraview
>
>
>
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView
>
> Follow this link to subscribe/unsubscribe:
> http://www.paraview.org/mailman/listinfo/paraview

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20130823/fbf984e1/attachment-0001.htm>


More information about the ParaView mailing list