# pixcenters

Compute pixel centers for georeferenced image or data grid

## Syntax

```[x,y] = pixcenters(R,height,width) [x,y] = pixcenters(r,sizea) [x,y] = pixcenters(..., 'makegrid') ```

## Description

`[x,y] = pixcenters(R,height,width)` returns the spatial coordinates of a spatially-referenced image or regular gridded data set. `R` is either a 3-by-2 referencing matrix defining a 2-dimensional affine transformation from intrinsic pixel coordinates to map coordinates, or a `MapCellsReference` object. `height` and `width` are the image dimensions. If `r` does not include a rotation (i.e., `r(1,1) = r(2,2) = 0`), then `x` is a 1-by-`width` vector and `y` is a 1-by-`height` vector. In this case, the spatial coordinates of the pixel in row `row` and column `col` are given by `x(col), y(row)`. Otherwise, `x` and `y` are each a `height`-by-`width` matrix such that `x(col,row), y(col,row)` are the coordinates of the pixel with subscripts `(row,col)`.

`[x,y] = pixcenters(r,sizea)` accepts the size vector `sizea = [height, width, ...]` instead of `height` and `width`.

`[x,y] = pixcenters(info)` accepts a scalar struct array with the fields

 `'RefMatrix'` 3-by-2 referencing matrix `'Height'` Scalar number `'Width'` Scalar number

`[x,y] = pixcenters(..., 'makegrid')` returns `x` and `y` as `height`-by-`width` matrices even if `r` is irrotational. This syntax can be helpful when you call `pixcenters` from within a function or script.

## Examples

```[Z,R] = readgeoraster('MtWashington-ft.grd','OutputType','double'); info = georasterinfo('MtWashington-ft.grd'); Z = standardizeMissing(Z,info.MissingDataIndicator); figure; [x,y] = pixcenters(R,size(Z)); h = surf(x,y,Z); axis equal; demcmap(Z) set(h,'EdgeColor','none') xlabel('x (easting in meters)') ylabel('y (northing in meters)') zlabel('elevation in feet')```

## Tips

For more information on referencing matrices, see the `makerefmat` reference page.

`pixcenters` is useful for working with `surf`, `mesh`, or `surface`, and for coordinate transformations.

#### Introduced before R2006a

##### Support Get trial now