EasyManua.ls Logo

SICK Ranger E

SICK Ranger E
124 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Reference Manual Chapter 8
Ranger E/D
©SICK AG • Advanced Industrial Sensors • www.sick.com • All rights reserved 99
iCon API
8.5 Calibration and Post Processing of Buffers
The IconBuffers delivered by the camera contains un-calibrated data. Extracting this data
as described in previous sections may be suitable depending on your application. If you
wish to calibrate and/or rectify the range data, register and/or generate color data, or just
separate the different subcomponents of the buffer into separate buffers of consecutive
data you can use the iCon Filter classes. There is one filter class for each of these actions.
Each of these is described below after the general notes which apply to all filter types.
8.5.1 Filter Classes
An iCon filter is a generic class to process an IconBuffer into another IconBuffer. Exactly
what kind of processing it performs depends on the filter type class.
All the filter classes are used in a very similar way. To use them you essentially need to do
the following things:
76. Create a filter object of the desired type
77. Create an IconBuffer to store the results from the filtering
78. Configure the filter with the required parameters. These are typically the data format
of the input buffer, the number of rows in the buffer and, in the case of a calibration
filter, a calibration lookup table
79. Optionally run the filter’s prepareResult function. This will tell the filter to run whatever
initialization routines it requires before performing its first filtering. This step may be
skipped but if so the filter will run a bit slower the first time it is applied to a buffer. It
is recommended to call prepareResults as a part of the initialization procedure
80. Apply the filter by calling its apply function with input and output buffers as arguments
Buffer Layout
There are two possible memory layouts for an IconBuffer. The raw data coming in from the
camera is organized scan by scan meaning that the various subcomponents of the con-
figuration will be stored side-by-side in the buffer memory as described earlier in this
chapter. This layout is referred to as scan layout. The buffers generated by filters are
however stored with their subcomponents in sequence. This is referred to as subcompo-
nent layout. The figure below shows this graphically.
For details on how to extract data from a scan layout buffer see the previous sections of
this chapter. To get data from a subcomponent layout buffer you just need to call the
buffer’s getReadPointer function and ask for a pointer to the desired subcomponent. The
pointer will point to a memory array where the entire subcomponent is stored sequentially,
row by row. An individual pixel can be accessed by reading from where the pointer points
with an offset of x + width * y, where width is the number of pixels per row.
const float *range;
res = outBufferRectified.getReadPointer("Hi3D 1","Range", range);
Hi3d -
intensity
Hi3d -
range
Gray -
intensity
Scan Layout (original raw data) Subcomponent Layout (filter output)
Hi3d -
intensity
Hi3d -
range
Gray -
intensity

Table of Contents

Related product manuals