Back to Aurora Vision Library website

You are here: Start » Function Reference » Surface » Surface Spatial Transforms » CropSurface

CropSurface


Header: AVL.h
Namespace: avl
Module: Vision3DStandard

Removes from the surface points that are not contained in a given rectangular box.

Syntax

C++
C#
 
void avl::CropSurface
(
	const avl::Surface& inSurface,
	atl::Optional<const avl::Region&> inRoi,
	const avl::ValueLimits_f64& inXLimits,
	const avl::ValueLimits_f64& inYLimits,
	const avl::ValueLimits_f64& inZLimits,
	bool inPreserveDimensions,
	avl::Surface& outSurface,
	atl::Optional<avl::Region&> outRejected = atl::NIL
)

Parameters

Name Type Default Description
Input value inSurface const Surface& Input surface
Input value inRoi Optional<const Region&> NIL Region of interest
Input value inXLimits const ValueLimits_f64&
Input value inYLimits const ValueLimits_f64&
Input value inZLimits const ValueLimits_f64&
Input value inPreserveDimensions bool False Flag indicating whether the surface dimensions should be preserved or not
Output value outSurface Surface& Output surface
Output value outRejected Optional<Region&> NIL Region of locations where points are not contained in a given rectangular box

Optional Outputs

The computation of following outputs can be switched off by passing value atl::NIL to these parameters: outRejected.

Read more about Optional Outputs.

Description

The operation removes points from surface that are not contained in a given rectangular box within provided coordinates.
It is also possible to narrow this box by editing inRoi, Region of Interest of operation.
Coordinates are defined via acceptable limits for their values. E.g. inXLimits.MinValue is minimum and inXLimits.MaxValue is maximum value of the X coordinate. Every point with its X coordinate outside of this range is removed.
Flag inPreserveDimensions informs if the operation output should keep the original dimensions of its input. E.g. if inSurface has its Width=300, Height=200 and Pitch=608 and the flag is enabled, the outSurface will have exactly the same dimensions of 300x200x608. However, if the flag is disabled, outSurface will have its dimensions smaller to adjust them to surface size, but its XOffset, YOffset, ZOffset properties will be accordingly bigger in order to keep the surface in the same place in workspace.
Operation returns the cropped Surface as well as removed Region if one needs to perform further actions on removed points.

Examples

A sample Surface object.

The same Surface object seen from above.

A sample Surface object cropped through half of its height.

Cropped Surface object seen from above.

Properties of a cropped surface with dimension preservation enabled.

Properties of a cropped surface with dimension preservation disabled.

Errors

List of possible exceptions:

Error type Description
DomainError Region of interest exceeds an input surface in CropSurface.

See Also