[Camino-users] questions on reorient: shift in voxel count and identity addition to jacobian

Philip A Cook cookpa at mail.med.upenn.edu
Wed Sep 10 09:07:08 PDT 2014


Hi,

The offset issue is a legacy thing, internally the coordinate (0.0, 0.0, 0.0) is at the edge of the voxel and not the center. Since the shift is there, FSL must place (0.0, 0.0, 0.0) at the voxel center, which is how most image processing software would do it.

The Jacobian thing is standard, it's done so that an identity transform (zero displacement vectors) has a determinant of 1. When you take the log, this becomes 0. The log determinant is usually used to express contraction (logjac < 0) or expansion (logjac > 0) or no change (logjac = 0).



On Sep 1, 2014, at 9:34 AM, Alessandro Calamuneri <alecalamuneri at gmail.com> wrote:

> I camino experts,
> I am writing you because I would like to better understand how reorient works on tensors. I have checked the source code, and two points are not clear to me: first one is that, when using displacement field coming from FSL fnirt command, there is a sistematic shifting on voxel position of half unit; indeed you typed down
> 
> double posX = (voxX+0.5)*CL_Initializer.voxelDims[0];
> double posY = (voxY+0.5)*CL_Initializer.voxelDims[1];
> double posZ = (voxZ+0.5)*CL_Initializer.voxelDims[2];
> 
> Why does this shifting occur? Is it an fsl related issue?
> The other question is coming from jacobian construction. Why do you add an identity matrix to the Jacobian after getting directional derivatives of displacement field?
> 
> Best Regards,
> 
> Alessandro
> _______________________________________________
> Camino-users mailing list
> Camino-users at www.nitrc.org
> http://www.nitrc.org/mailman/listinfo/camino-users



More information about the Camino-users mailing list