Measuring angles from vector field

Hi all,

I am vertebrate morphologist using Slicer to segment bones and muscles (from contrast-stained specimens).

I am currently in need of help with the following: I have segmented a chunk of muscle, analyzed its fiber tracks in a software by Heiko Stark (, and now have an output file with a vector field. Is there a way to measure these angles in bulk fashion relative to custom planes and not relative to CT space?

I should also mention that I have the vector field data in multiple file formats (txt, obj, track, etc.), but I don’t know which would be best for taking my measurements.

Any help would be greatly appreciated!!

Is the vector field specified on a point set (points of a surface mesh or unstructured volumetric mesh) or a volume (dense rectilinear grid)?

Once you have loaded the data, computation of an angle between a plane and vectors is trivial, it should be just a couple of lines of Python script.

It is specified on a volume, I think.

How would I go about extracting the position of the desired plane in order to perform the calculations in Python? For example, I would like to import a scene with the entire scan and then measure angles relative to the frontal plane and sagittal plane.

One final question, is it possible to measure relative to a curved plane? The CT scan has a fish in a bent position, so a straight reference plane would yield undesired measurements.


This should be no problem at all. I would straighten the volume using Curved Planar Reformatting module (in Sandbox extension) and then compute everything on the straightened volume. See for example this post: