# maketform

Create N-D spatial transformation structure (`TFORM`

)

**The maketform function is not recommended for 2-D and 3-D geometric
transformations. For more information, see Version History.**

## Syntax

## Description

### Create N-D Affine and Projective Transformations from Matrices

creates a spatial transformation structure `T`

= maketform("affine",`A`

)`T`

for an N-dimensional
affine transformation specified as matrix `A`

. The transformation
structure `T`

has both forward and inverse transformations.

A spatial transformation structure (called a `TFORM`

structure) can
be used with the `tformarray`

, `tformfwd`

, and `tforminv`

functions.

### Create Transformation from Forward or Inverse Functions

creates a custom `T`

= maketform("custom",`ndims_in`

,`ndims_out`

,`forward_fcn`

,`inverse_fcn`

,`tdata`

)`TFORM`

structure `T`

based on
user-provided function handles and parameters. `ndims_in`

and
`ndims_out`

are the numbers of input and output dimensions.
`forward_fcn`

and `inverse_fcn`

are function
handles to forward and inverse functions. The `tdata`

argument can be
any MATLAB^{®} array and is typically used to store parameters of the custom
transformation. It is accessible to `forward_fcn`

and
`inverse_fcn`

via the `tdata`

field of
`T`

.

### Create Transformation for Spatial Referencing

creates an N-dimensional affine `T`

= maketform("box",`tsize`

,`outCornerStart`

,`outCornerEnd`

)`TFORM`

structure `T`

that maps an input box defined by the coordinates of a corner,
`ones(1,N)`

, and size `tsize`

, to an output box
defined by the opposite corners `outCornerStart`

and
`outCornerEnd`

. The `"box"`

`TFORM`

structure is typically used to register the row and column
subscripts of an image or array to some world coordinate system.

creates an N-dimensional affine `T`

= maketform("box",`inCorners`

,`outCorners`

)`TFORM`

structure `T`

.
The transformation maps an input box defined by the opposite corners
`inCorners`

`(1,:)`

and
`inCorners`

`(2,:)`

to an output box defined by the
opposite corners `outCorners`

`(1,:)`

and
`outCorners`

`(2,:)`

.

### Create Composite Transformation

creates a `T`

= maketform("composite",`T1,T2,...,TL`

)`TFORM`

structure `T`

that is a composite of
transformations `T1, T2, ..., TL`

specified as comma-separated
`TFORM`

structures. The forward and inverse functions of
`T`

are the functional compositions of the forward and inverse
functions of the component transformations `T1, T2, ..., TL`

.

builds a `T`

= maketform("composite",[`T1,T2,...,TL`

])`TFORM`

structure `T`

that is a composite of
transformations `T1, T2, ..., TL`

specified in a vector. The forward and
inverse functions of `T`

are the functional compositions of the forward
and inverse functions of the component transformations ```
T1, T2, ...,
TL
```

.

## Examples

## Input Arguments

## Output Arguments

## Extended Capabilities

## Version History

**Introduced before R2006a**