Back to Adaptive 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
inSurface const Surface& Input surface
inRoi Optional<const Region&> NIL Region of interest
inXLimits const ValueLimits_f64&
inYLimits const ValueLimits_f64&
inZLimits const ValueLimits_f64&
inPreserveDimensions bool False Flag indicating whether the surface dimensions should be preserved or not
outSurface Surface& Output surface
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.

See Also