How to visualize fiber orientation tensors

Hi people,
Let's say I have a huge amount of fiber orientation tensors showing the probability of fiber alignment in the specified principal direction within a part. Since the fiber orientation tensor in the first principal direction is the most useful result to view in my analysis, I am trying to find a way to visualize the tensors using a user-defined geometry (e.g. cylinders).
Many thanks in advance for any help!

5 Commenti

Can you clarify what information you have? Do you have a length-3 vector describing the orientation of the fiber at each of several points in the lattice? If so, I think that quiver3() would work for you.
doc quiver3
If you could clarify what information you currently have, it would be much easier to offer a solution.
MrBlub
MrBlub il 17 Lug 2013
Modificato: MrBlub il 17 Lug 2013
Matt Kindig, thank you very much for your reply!
It's not that easy I'm afraid. Here is what I got:
1. I can export 3x3 matrices with fiber orientation values for a specific point on my CAD-part. For instance I can create a table like the following:
Point(x,y,z) Tensor (3x3 matrice)
0,0,0 0.78 0.1 0.05, 0.19 0.2 0.01, 0.03 0.4 0.02
...
where one line represents one fiber-orientation-state to be visualized.
2. MatLab first needs to calculate the eigenvectors and eigenvalues of tensor (each line in the table).
3. Having the eigenvectors and eigenvalues calculated, I want MatLab to visualize the orientation at each point(x,y,z) in the table using an 3D-ellipsoid.
4. Besides that it would be also of great benefit for me to automatically generate a picture (like the one above), showing a cylinder aligned in the first principial direction (main direction of the ellipsoid) for each point(x,y,z) in the table.
Hope this helps! Thank you very much for any hint on that!
Matt Kindig
Matt Kindig il 17 Lug 2013
Modificato: Matt Kindig il 17 Lug 2013
Hi MrBlub,
Ok, these steps all seem fairly straightforward. One at a time:
1. I assume the export is in the form of a text file? If so, extracting the relevant data from the text file should be pretty easy--I'd use textscan() or regexp() to extract the point and tensor data.
2. Eigenvectors/values can be found using eig(). For 3x3 matrices, this should be plenty fast.
3. I'm not sure how the 3D ellipsoid is defined. I assume that the major/minor axes of the ellipsoid are aligned with two of the eigenvectors, but how is the volume defined? Rendering the ellipsoid might be the hardest point of this workflow.
EDIT: I just searched the File Exchange, and found this function that might help: http://www.mathworks.com/matlabcentral/fileexchange/27462-diffusion-tensor-field-dti-visualization
4. The cylinder rendering can be generated manually, or you can use one of several functions on the File Exchange (such as http://www.mathworks.com/matlabcentral/fileexchange/12285-3d-quiver-with-volumized-arrows) that renders vectors (like in quiver3) with cylinders (for the arrow shaft) and cones (for the head). You can set the head size to zero to render cylinders only.
Does this help?
Matt
Do you want the projection numerically or visually? That is, do you want the coordinates of the outline of the projected ellipsoid onto the plane, or do you want to visualize the projection?
@Matt Kindig, Hi, I need exact what you said. But I need plot the tensor in xy coordinate by visualizing microscopic image of composite components.

Accedi per commentare.

 Risposta accettata

Alex Taylor
Alex Taylor il 24 Lug 2013
You might also want to take a look at this additional File Exchange submission for DTI visualization if you want a different flavor of visualization:

Più risposte (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by