image-js
Version:
Image processing and manipulation in JavaScript
28 lines (25 loc) • 725 B
text/typescript
import type { Image } from '../../Image.js';
import type { Point } from '../../geometry/index.js';
/**
* Crop the source image to given dimensions around the origin.
* @param image - Source image.
* @param origin - Center point for the crop.
* @param patchSize - Size of the returned image.
* @returns The square image around the origin extracted from the source image.
*/
export function extractSquareImage(
image: Image,
origin: Point,
patchSize: number,
): Image {
const cropOffset = (patchSize - 1) / 2;
const cropOrigin = {
column: origin.column - cropOffset,
row: origin.row - cropOffset,
};
return image.crop({
origin: cropOrigin,
width: patchSize,
height: patchSize,
});
}