Two and three dimensional examples.
These transformations depend on the axes of their input coordinate system. In this case, the input coordinate system is the array's native coordinate system, which is duplicated.
An example using the rotation
transformation type. Note that the rotation is about the origin.
An example using the byDimension
transformation type that itself contains scale
and translation
transformation types. This is a contrived example for demonstration purposes only.
These transformations are all either identical to or slight re-expressions of in NGFF v0.4. All implementations should support these examples.
An example using the identity
transformation type. The physical coordinate system is identical to the array coordinate system.
An example using the scale
transformation type.
An example of a multiscale image using the scale
transformation type.
An example using the sequence
transformation type where the sequence contains one scale
transformation
and one translation
transformation.
If an implementation supports all the transformation types contained in a sequence, then that implementation should also support the sequence.
An example of a multiscale images using the sequence
transformation type where the sequence contains one scale
transformation and one translation
transformation.
If an implementation supports all the transformation types contained in a sequence, then that implementation should also support the sequence.
The transformations here are identical to those in the affine_multiscale.zarr
example.
An example using the translation
transformation type.
Example of basic transformations that store their parameters in zarr arrays.
A tranformation of type scale
using the path
parameter to reference the zarr array containing its parameters.
A tranformation of type translation
using the path
parameter to reference the zarr array containing its parameters.
Examples of transformations types that are new, but are simple enough that most implementation should support them. Specifically they are affines, or subsets of affines.
An example of a multiscale images using the affine
transformation type
The transformations here are identical to those in the sequenceScaleTranslation_multiscale.zarr
example.
An example using the affine
transformation type.
An example using the affine
transformation type for which its parameters are stored in zarr array.
An example using the rotation
transformation type. Note that the rotation is about the origin.
An example using the rotation
transformation type for which its parameters are stored in zarr array.
Examples of new, potentially non-linear transformation types. Implementations need not support these transformations.
An example using the displacements
transformation type wrapped in an inverseOf
transformation.
This transformation is identical to that in the invCoordinates.zarr
, but represented differently.
An example using the coordinates
transformation type wrapped in an inverseOf
transformation.
This transformation is identical to that in the invDisplacements.zarr
, but represented differently.
Examples that are motivated by user stories.
An example in which a set of 2D images tiles are each transformed to a shard "world" coordinate system using a different
(translation
) coordinate transformation.
An example in which a set of 3D images tiles are each transformed to a shard "world" coordinate system using a different
(translation
) coordinate transformation.
An example of a two-step, invertible, non-linear, 3D registration. The two steps of 3D registration represented here were:
first affine, then deformatble. As a result, one direction of the registration is represented as a sequence
containing
affine
and displacements
transformations.
Because displacements
transformations are not closed-form invertible, this example uses a bijection
transformation
to indicate that the inverse is stored explicity.
- a bijection transformation
- a forward transformation consisting of:
- a sequence consisting of:
- a displacement transformation
- an affine transformation
- a sequence consisting of:
- an inverse transformation consisting of:
- a sequence consisting of:
- an affine transformation
- a displacements transformation
- a sequence consisting of:
- a forward transformation consisting of:
A realistic example of "lens correction" - apply a 2D, nonlinear tranformation to every slice of a 3D image.
This example using the byDimension
transformation type that itself contains displacements
and identity
transformation types.
The displacement field for this example is sampled differently (more sparsely) than the image it is applied to.