# Affine transformation

## clij - GPU-acceleration for ImageJ

clij is an ImageJ/Fiji plugin allowing you to run GPU-accelerated code from within Fijis script editor (e.g. macro and jython). CLIJ is based on ClearCL, Imglib2 and SciJava. It contains components for image filtering, thresholding, spatial transforms, projections, binary image processing and basic signal measurements.

- Read more about clij - GPU-acceleration for ImageJ
- Log in or register to post comments
- 242 views

## Multiview Reconstruction

The **Multiview Reconstruction** software package enables users to *register, fuse, deconvolve and view* multiview microscopy images. The software is designed for lightsheet fluorescence microscopy (LSFM), but is applicable to any form of three or higher dimensional imaging modalities like confocal timeseries or multicolor stacks.

- Read more about Multiview Reconstruction
- Log in or register to post comments
- 77 views

## BigStitcher

The BigStitcher is a software package that allows simple and efficient alignment of multi-tile and multi-angle image datasets, for example acquired by lightsheet, widefield or confocal microscopes. The software supports images of almost arbitrary size ranging from very small images up to volumes in the range of many terabytes, which are for example produced when acquiring cleared tissue samples with lightsheet microscopy.

- Read more about BigStitcher
- Log in or register to post comments
- 151 views

## TransformJ

A Java Package for Geometrical Image Transformation, works up to 5D.

- Affine
- Crop
- Embed
- Matrix
- Mirror
- Rotate
- Scale
- Translate
- Turn

- Read more about TransformJ
- Log in or register to post comments
- 49 views

## 3D affine transformation based on paired points

Using a text file containing 3D point coordinates as reference pairs, 3D image stack is transformed.

- Read more about 3D affine transformation based on paired points
- Log in or register to post comments
- 15 views

## Interactive Affine

quote:

This plugin allows to apply a free affine transformation to a 2D image in an interactive way.

- Read more about Interactive Affine
- Log in or register to post comments
- 15 views

## Affine transformation software

This C routine is based on the following two papers:

- M. Unser, A. Aldroubi and M. Eden, "B-Spline Signal Processing: Part I--Theory," IEEE Transactions on Signal Processing, vol. 41, no. 2, pp. 821-832, February 1993.
- M. Unser, A. Aldroubi and M. Eden, "B-Spline Signal Processing: Part II--Efficient Design and Applications," IEEE Transactions on Signal Processing, vol. 41, no. 2, pp. 834-848, February 1993.

It implements the resampling of an image/volume under an affine transformation. The continuous model is based on splines of degree 0 (nearest neighbours), degree 1 (linear interpolation), degree 2 (quadratic), 3 (cubic), 4 (quartic), 5 (quintic), 6 and 7. By convention, the affine transformation is given by an homogenous matrix; the operation performed is output(A x) = input(x). In other words, a matrix given by

```
A = { {2,0,0,0}, {0,2,0,0}, {0,0,2,0}, {0,0,0,1} }
```

will result in a magnification by a factor 2 in linear dimensions. In case the desired operation would be `output(x) = input(A x)`

, it should be easy to modify the code (mainly: remove the call to `invertTrsf()`

and assign `invTRsf = trsf)`

. The origin relative to which the transformation is performed is given with respect to the center of the top-upper-left voxel; the coordinate system is right-handed. Output values in need of extrapolation are set to the value background.

The input volume (the volume to transform) is given by `inPtr`

, a pointer to an array of float values in raster order. More precisely, the values are ordered such that the x values are incremented first, then the y values, finally the z values. The size of the volume is given by nx, ny and nz, respectively. The output volume has necessarily the same size and follows the same organization. Its memory space cannot be shared with the input, and is supposed to be already allocated when the `affineTransform()`

routine is called.

All routines are local, with the exception of the routine to call, named `affineTransform()`

, and the routine `errorReport()`

. The latter is not included in this distribution; its purpose is to display an error message given by a C-string. Else, the code is self-contained (provided a standard ANSI-C environment is available). It consists of only two files: affine.h and affine.c.

- Read more about Affine transformation software
- Log in or register to post comments
- 19 views