usage: AimsClassifyTransformation.py [-h] [--verbose] [--debug] trm_file

Determine the type of affine transformation contained in a .trm file.

This program is designed for interactive use, it will print the result on
standard output. It will classify an affine transformation as one of the
following subtypes, listed from the most particular to the most general:

- Identity
- Translation
- Isotropic scaling
- Rigid
- Rotation-reflection
- Similarity
- Similarity-reflection
- Anisotropic scaling and reflection
- Rigid followed by anisotropic scaling
- Rotation-reflection followed by anisotropic scaling
- Anisotropic scaling followed by rigid
- Anisotropic scaling followed by rotation-reflection
- Invertible affine
- Projection (i.e. idempotent non-invertible transformation)
- Non-invertible affine

With the --verbose option, it will additionally print the following
characteristics of the transformation:

- Rank (usually 3, except for non-invertible transforms, e.g. 3D-to-2D)
- Determinant
- Orientation (direct or indirect)
- Volume dilation factor (cubic root of determinant)
- Scaling factor(s)
- Invariant point (e.g. centre of rotation/scaling)
- Angle of rotation (only for similarity transforms)

positional arguments:
  trm_file    trm file to analyze

options:
  -h, --help  show this help message and exit
  --verbose   print more information about the decomposition
  --debug     print out the matrix decomposition
