Wrong rotation using alignment 3d?

Dear Allen Brain Atlas Team,

We are trying to obtain the expression grid for 10um resolution. Since the API (Downloading 3-D Expression Grid Data - Allen Brain Atlas API) only provides 100um resolution, we are doing it from scratch using ISH images.

This is what we did.

  1. Use API to get all developing mouse images.

  2. Use API to get 2D alignment 23 matrix and 3D alignment 34 matrix for each image. We did this because the image to reference API returns only one coordinate each time so we are computing it by ourselves. We have verified that our reference mapping is identical to the image to reference API result

  3. However, then we took a z section from the mapped 3d grid and found that the rotation of different aligned sectiondatasets seem to be very different (i.e., mouse have different angles).

  4. But if we use the the inverse rotation, the rotation seems to be correct! We use the inverse rotation -theta by assigning align2d[‘tsv_01’] = -1 * align2d[‘tsv_01’] and align2d[‘tsv_10’] = -1 * align2d[‘tsv_10’] and keep the other tsv the same.

Do you think we pipeline has any issues that cause us to get a wrong rotation?

Thank you,


For each Alignment2D and Alignment3D we database the transform in both directions.

Class: Alignment2d — Allen Brain Atlas API (brain-map.org)
Class: Alignment3d — Allen Brain Atlas API (brain-map.org)

If you are seeing a inverse problem you might want to check on
(1) if you are using transform going in the right direction
(2) check if you have the parameters in row-major order