Image Acquisition Interface for SICK 3D Cameras
|
Interface:
|
SICK-3DCamera
|
|
Revision:
|
13.0.3
|
|
Date:
|
2018-08-08
|
General
System Requirements
- Intel compatible PC with Windows 7 (32-bit or 64-bit)
or newer that is also supported by the vendor-specific SDK.
Note that WoW64 (using 32-bit HALCON on 64-bit Windows) is not supported
and can lead to a crash.
- Ethernet cameras:
Intel PRO/1000 network adapter with successfully installed eBUS
driver (version 3.1). We recommend enabling continuous grabbing
for best performance.
Camera Link cameras (legacy):
DALSA Camera Link board X64-CL with successfully installed Sapera LT
software library (version 7.10 or higher) and drivers.
- Successfully installed SICK iCon API version 5.1 SR1. Please
make sure that the icon_51.dll (or
icon_51_x64.dll, respectively), is available
via the %PATH% environment variable.
- HALCON image acquisition interface hAcqSICK-3DCamera.dll or
hAcqSICK-3DCameraxl.dll, respectively. If you have installed
the interface properly, both DLLs should reside in
bin\%HALCONARCH% within the HALCON base directory
%HALCONROOT% you have chosen during the installation of HALCON.
Installation
Only when installing or updating the interface manually follow these steps:
- Windows: Extract the archive containing the interface files to the
HALCON base directory %HALCONROOT% (Note: Administrator privileges may be
required for this step). Additionally, you have to move the interface
examples to the directory %HALCONEXAMPLES% manually.
Features
Limitations
- Mark data is only available in continuous grabbing mode.
- No support of traits.
- Parameters 'image_height' (lines per frame) and '<Measurement>scan
height' are internally set to the same value.
- Changing parameters in Ranger Studio (in Ethernet camera case) when using
HDevelop in parallel can lead to an invalid parameters configuration.
- Due to current iCon API limitations, Ranger C devices may not behave as
expected in case of continuous synchronous grabbing and in case of
continuous asynchronous grabbing with 'buffer_queue' and
'start_async_after_grab_async' disabled.
Reading Mark Data
The SICK 3D cameras can be configured to deliver the optional mark data (either a counter or the actual encoder values). To query these data
together with the grabbed image data, the operator
grab_data or
grab_data_async have to be used. If the mark data is enabled in the used
camera configuration file, the output parameter 'Data' of
grab_data/
grab_data_async contains for every mark subcomponent the name
of the corresponding component and all mark values. The order of these
integer values corresponds to the order of the components. Please note
that the parameter 'continuous_grabbing' must be set to 'enable' to get
the mark data continuously.
3D Calibration and Rectification
The SICK 3D cameras can be configured to deliver calibrated and rectified range data. To generate these data you have to create a lookup-table (LUT)
with the SICK Coordinator tool. The LUT can either be stored in the flash
of the camera or in a file. With the parameter 'lut_file' you can
use your LUT file for the calibration. If no LUT file is set, the
calibration filter tries to load it from the flash of the camera. If you
want to use a LUT file, this has to be set before the calibration filter
is enabled.
You have the choice between enabling only the calibration via the parameter
'calibration_filter' and also enabling the rectification via the parameter
'rectification_filter'. The method of the rectification filter can be
set via the parameter 'rectification_method'. The rectification width can
be set via the parameter 'rectification_width'.
To access the calibrated (and rectified) data the operators
grab_data or
grab_data_async have to be used.
Here, the additional measurement data is provided as additional images
('Range X', 'Range R', 'Rectified Data (Range)',
'Rectified Data (Intensity)').
Representation of Images in Ranger Studio and HALCON
Note that there is a general difference regarding the image representation between Ranger Studio and HALCON:
The coordinate system of the SICK 3D cameras is right to left and
top to down, but in order to display the images in the "correct" way,
the SICK Ranger Studio flips the images automatically.
In HALCON, the coordinate system is always left to right and
top to down. Thus, the images, as they come from the buffers from the
SICK 3D camera, look mirrored in comparison to the ones of
Ranger Studio.
In some cases when using high resolution components and "normal"
components, some image channels received from
grab_image and
grab_image_async are black at the right part of the image. This is caused
by the higher width of the high resolution images and the restriction that
the channels of one HALCON image object must have the same size. In this
case we recommend using
grab_data and
grab_data_async instead.
Using SICK frame grabber's internal queue of buffers
In case of continuous ('continuous_grabbing' = 'enable') asynchronous
grabbing (grab_image_async/grab_data_async), the use of SICK frame
grabber's internal queue of buffers can be activated by setting
'buffer_queue' to 'enable'. Notice that the default value for the
'buffer_queue' is 'disable'.
The HDevelop example sick-3dcamera_buffer_queue.hdev shows
how to enable the use of the SICK frame grabber's internal queue of
buffers, how to calculate the available number of buffers, how to
detect overflow using the mark data and how to recover from overflow
using 'do_abort_grab'.
The HDevelop example sick-3dcamera_grabbing_modes.hdev
shows the behavior of the different grabbing modes
(asynchronous/synchronous) depending on the following parameters:
'continuous_grabbing', 'buffer_queue' and 'start_async_after_grab_async'.
In case of Ethernet cameras (Ranger E/D),
the buffer size can be set by means of the Generic parameter
'buffer_size' in open_framegrabber. Its default value is 50 [MB].
The number of buffers can be calculated as follows depending on the
current configuration:
| Configuration |
Number of Buffers |
| 'measurement' |
'buffer_size'[MB] * 2^20[bytes/MB] / ('scan_size'[bytes/scan] *
'<Measurement>scan height'[scans/buffer])
|
| 'image' |
'buffer_size'[MB] * 2^20[bytes/MB] / ('scan_size'[bytes/scan] * 1)
|
The current queue size can be also known by activating the SICK message
errors (set 'use_error_handler=1' in open_framegrabber) and by checking
the "Queue size" in the connection message shown in the HDevelop output
console:
"message: 13:36:13 Message: Connected: Queue size:
11 @512x9216 bytes. Driver mode: Fast"
Notice that the Generic parameter 'num_buffers' in open_framegrabber has
been removed to avoid confusion with SICK frame grabber's internal
queue of buffers.
| Parameter |
Value List |
Type |
Kind |
Description |
| 'bits_per_channel' |
[] |
|
|
Unused. |
| 'camera_type' |
['CAMFILE:', 'prm', '<path>', 'default'] |
string |
pre-defined |
Syntax for camera file and default value. |
| 'color_space' |
['image', 'measurement'] |
string |
pre-defined |
Value list for configuration. |
| 'defaults' |
[1, 1, 0, 0, 0, 0, 'progressive', -1, 'measurement', -1.0, 'false', 'default', 'default', 0, 0]
|
mixed |
pre-defined |
Default values for open_framegrabber. |
| 'device' |
['<ip_address>'] |
string |
dynamic |
Returns the list of available Ethernet devices if possible. Otherwise, a place-holder is returned. Camera Link devices (legacy) are ignored.
|
| 'external_trigger' |
[] |
|
|
Unused. |
| 'field' |
[] |
|
|
Unused. |
| 'general' |
[] |
string |
pre-defined |
Information about the HALCON SICK-3DCamera interface. |
| 'generic' |
['', 'buffer_size=<MB>', 'camera_reset_on_close=1', 'low_level_timeout=<ms>', 'use_error_handler=1',
'use_socket_driver=1']
|
string |
pre-defined |
Value list for the Generic parameter. |
| 'horizontal_resolution' |
[] |
|
|
Unused. |
| 'image_height' |
[] |
|
|
Unsupported query. |
| 'image_width' |
[] |
|
|
Unsupported query. |
| 'info_boards' |
['device:<ip_address> | default_gateway:<default_gateway> | netmask:<netmask> | manufacturer:<manufacturer_name> |
model_name:<model_name> | device_version:<device_version> |
manufacturer_specific:<manufacturer_specific> | mac_address:
<mac_address>']
|
string |
dynamic |
Returns the list of available Ethernet devices with additional information. Camera Link devices (legacy) are ignored.
|
| 'parameters' |
['<parameters>'] |
string |
pre-defined |
Pre-defined parameters of the HALCON interface. |
| 'parameters_readonly' |
['<parameters>'] |
string |
pre-defined |
Pre-defined read-only parameters of the HALCON interface. |
| 'parameters_writeonly' |
['<parameters>'] |
string |
pre-defined |
Pre-defined write-only parameters of the HALCON interface. |
| 'port' |
<port> |
integer |
pre-defined |
Returns the static value list for port (for Ranger C devices). |
| 'revision' |
'<revision>' |
string |
pre-defined |
Revision number of the SICK-3DCamera interface. |
| 'start_column' |
[] |
|
|
Unsupported query. |
| 'start_row' |
[] |
|
|
Unsupported query. |
| 'vertical_resolution' |
[] |
|
|
Unused. |
| Parameter |
Values |
Default |
Type |
Description |
| Name |
'SICK-3DCamera' |
|
string |
Name of the HALCON interface. |
| HorizontalResolution |
--- |
|
|
Ignored. |
| VerticalResolution |
--- |
|
|
Ignored. |
| ImageWidth |
0, 256 ... 1536 |
0 |
integer |
Width of the desired image part. Please note that the image width must be divisible by 8. If set to 0 the value in the
prm-file (or the current setting of the camera) is used.
|
| ImageHeight |
0, <height> |
0 |
integer |
Height of the desired image part (in image mode) or the number of scans (in measurement mode). If set to 0 the value in the
prm-file (or the current setting of the camera) is used.
|
| StartRow |
--- |
|
|
Ignored. |
| StartColumn |
0, 1 ... 1280 |
0 |
integer |
Column coordinate of the upper left pixel within the desired image part. Note that the sum of StartColumn and ImageWidth must
not exceed 1536. If set to 0 the value in the prm-file (or the
current setting of the camera) is used.
|
| Field |
--- |
|
|
Ignored. |
| BitsPerChannel |
--- |
|
|
Ignored. The value is defined by prm file. |
| ColorSpace |
'image', 'measurement' |
'measurement' |
string |
Desired camera configuration. If set to 'image', every call of grab_image and grab_image_async will result in a gray value image. If set to
'measurement', a multi-channel image containing the measurement components as
defined in the prm-file will be returned.
|
| Generic |
'', ['buffer_size=<MB>', 'camera_reset_on_close=1', 'low_level_timeout=<ms>', 'use_error_handler=1',
'use_socket_driver=1'], -1
|
-1 |
mixed |
Generic parameters:
- buffer_size:
Set the internal buffer size in Megabyte. Only valid for Ethernet cameras. Default: 50.
- camera_reset_on_close:
Enable the camera reset in close_framegrabber as a workaround to an
internal camera problem for Ethernet devices (in case of repeatedly
opening and closing the device). Notice that this setting can
considerably increase the execution time of close_framegrabber,
therefore use it only if necessary (for instance, every 20 open and close
iterations). For Camera Link devices this parameter has no effect.
- low_level_timeout:
Set a low level timeout value in milliseconds for Pleora eBus to guarantee that
buffer callbacks occur without delays even if network packets are lost. Default: 0
(infinite).
- use_error_handler:
Enable the SICK error handler to show the same error messages as in Ranger
Studio.
- use_socket_driver:
This setting makes it possible to use the socket driver (driver mode:
Normal) instead of the new Fast Ethernet driver (driver mode: Fast).
Notice that fast driver mode requires the Ethernet camera version <IP_ADDRESS>
(or higher).
|
| ExternalTrigger |
--- |
|
|
Ignored. Note that this parameter has been deprecated, your code may require an adaptation. If activated, the 'use enable' parameter of the
SICK API was set to '2' (rising edge), otherwise to '0'.The different
trigger modes were manually selected via set_framegrabber_param. Now the
SICK parameter '<Image>use enable' or '<Measurement>use enable'
can be directly modified using the set_framegrabber_param operator.
|
| CameraType |
'<prm_file>', 'default' |
'default' |
string |
Name of the camera parameter file. In case of 'default' the current camera settings are used.
|
| Device |
'<ip_address>', '<device_id>' |
'default' |
string |
For Ethernet cameras, the IP address of the camera must be specified here. For Ranger C cameras, the 'Camera Link API port index' as
indicated in the Sapera Configuration Tool must be used.
|
| Port |
<port> |
0 |
integer |
Port value. In case of:
- Camera Link device: used camera port on the X64-CL board.
- Ethernet device: if default value (0) used, then the port will be
dynamically allocated, otherwise the value will be used to allocate
the port statically and in that case, the 'port'+1 value will be
internally used as redundancy port. Therefore, notice that in case of
using more than one camera, the port values should not be consecutive
values (e.g. set port 1000 for the first camera and port 1002 for the
second camera). Static allocation shall only be used if the dynamic port
reservation causes trouble or for some reason, the port to be used has
to be exactly specified. Notice that in case of using the socket driver
('use_socket_driver=1'), the static port allocation is not possible and,
therefore, the port has to be set to the default value (0).
|
| LineIn |
--- |
|
|
Ignored. |
The SICK parameters of the camera can be different depending on the device type and the current loaded configuration file (.prm). Therefore, use
get_framegrabber_param(..., 'available_param_names', ...) to obtain
a tuple containing all available parameters of the connected camera. To set
a parameter, e.g. the 'exposure time' of the 'HorThr 1' component in
'Measurement' configuration, the user can call
set_framegrabber_param(...,
'<Measurement><HorThr 1>exposure time', ...). Note that
in case of 'Argument' parameter type (see SICK documentation regarding SICK
parameter types), the camera will be internally stopped before changing the
parameter and the data format will be automatically updated if required.
| Parameter |
Values |
Default |
Type |
Description |
| 'active_channel' |
-1, value |
-1 |
integer |
Number of the active channel, if measurement configuration is chosen. -1 uses all channels.
|
| 'buffer_queue' |
'disable', 'enable' |
'disable' |
string |
Enables/disables the use of SICK frame grabber's internal queue of buffers in case of continuous asynchronous grabbing. Notice that in case of
continuous asynchronous grabbing with 'buffer_queue' disabled but
'start_async_after_grab_async' enabled, the 'buffer_queue' parameter will
be ignored and the SICK frame grabber's internal queue of buffers will be
used (no buffers lost). See also 'continuous_grabbing' parameter
description.
|
| 'calibration_filter' |
'disable', 'enable' |
'disable' |
string |
Enables/disables the calibration filter for the 'Range' subcomponent. In measurement configuration, grab_data/grab_data_async then returns two
additional images with the 'Range X' and 'Range R' data. Note that in case
a LUT file is used, it has to be loaded before the calibration filter is
enabled.
|
| 'camera_start_delay' |
<milliseconds> |
20 |
integer |
In some cases packets are lost, if the camera is started too soon after starting the grabber. With this parameter a delay for starting the camera
can be set.
|
| 'configuration' |
'image', 'measurement' |
'measurement' |
string |
Configuration of the camera. If set to 'image', every call of grab_image and grab_image_async will result in a gray value image. If set to
'measurement', a multi-channel image containing the measurement components
as defined in the prm-file will be returned. Please note that when changing this
parameter in HDevelop Image Acquisition Assistant, the 'Refresh' button has to
be applied to update the current 'active_channel' values list.
|
| 'continuous_grabbing' |
'disable', 'enable' |
'disable' |
string |
If 'continuous_grabbing' is enabled, data is continuously acquired by the camera. Otherwise data is only acquired when calling grab_image or
grab_image_async. See also 'buffer_queue' parameter. Note: due to
iCon API limitations, in case of Ranger C devices, 'continuous_grabbing'
mode may not behave as expected:
- if synchronous grabbing (grab_image/grab_data): next available buffer
in SICK frame grabber's internal queue of buffers is delivered.
- if asynchronous grabbing (grab_image_async/grab_data_async) and
'start_async_after_grab_async' and 'buffer_queue' disabled: next
available buffer in SICK frame grabber's internal queue of buffers
is delivered.
|
| 'do_abort_grab' |
--- |
|
|
Aborts the current image acquisition and flushes the SICK frame grabber's internal queue of buffers.
|
| 'do_load_parameters' |
--- |
|
|
Load the parameter settings file specified in 'parameters_file' parameter. |
| 'do_save_parameters' |
'<prm_file>' |
'saved_sick_parameters.prm' |
string |
Save the parameter settings to the specified filename. |
| 'grab_timeout' |
<milliseconds> |
5000 |
integer |
Desired timeout (milliseconds) for aborting a pending grab. If -1 is specified, the timeout is set to INFINITE.
|
| 'interpolation_method' |
'linear', 'nearest_neighbor' |
'nearest_neighbor' |
string |
Interpolation method for the registration filter. |
| 'lut_file' |
'<LUT-file>', 'flash' |
'flash' |
string |
Load the lookup-table for calibration from the specified path and filename. Set the parameter value to 'flash' to clear the file name and to use the LUT
file from the camera flash. The LUT file has to be set before the calibration
filter is enabled.
|
| 'parameters_file' |
'<prm_file>' |
|
string |
Parameter file name (e.g. C:\prm-files\RangerE.prm) to be used by 'do_load_parameters' action parameter.
|
| 'rectification_filter' |
'disable', 'enable' |
'disable' |
string |
Enables/disables the rectification filter for the 'Range' subcomponent. In measurement configuration, grab_data/grab_data_async then returns two
additional images with the rectified 'Range' and 'Intensity' data. Please
note that to enable this parameter, the 'calibration_filter' has to be
previously enabled.
|
| 'rectification_method' |
'bottom_most', 'mean', 'top_most' |
'mean' |
string |
Method for the rectification filter. |
| 'rectification_width' |
|
|
integer |
Width of rectified buffer (X-direction). |
| 'shift_blue' |
<shift> |
0.0 |
float |
Shift value (as float) of the blue channel. Please note that this value must be set according to your configuration, if color components are used.
Continuous asynchronous grabbing is required
(grab_image_async/grab_data_async with 'continuous_grabbing' enabled).
|
| 'shift_green' |
<shift> |
0.0 |
float |
Shift value (as float) of the green channel. Please note that this value must be set according to your configuration, if color components are used.
Continuous asynchronous grabbing is required
(grab_image_async/grab_data_async with 'continuous_grabbing' enabled).
|
| 'shift_red' |
<shift> |
0.0 |
float |
Shift value (as float) of the red channel. Please note that this value must be set according to your configuration, if color components are used.
Continuous asynchronous grabbing is required
(grab_image_async/grab_data_async with 'continuous_grabbing' enabled).
|
| 'start_async_after_grab_async' |
'disable', 'enable' |
'enable' |
string |
By default a new asynchronous grab command is automatically given to the acquisition device at the end of grab_image_async. If the parameter
'start_async_after_grab_async' is set to 'disable', this new grab command
is omitted.
|
There may exist additional read-only parameters with the following postfixes:
- '_access': These parameters provide the access permissions of
the corresponding parameter as a string. Possible values are
'ro' (read-only), 'wo' (write-only), and
'rw' (read/write).
- '_category': These parameters provide the category of the
corresponding parameter as a string.
- '_description': These parameters provide the tool-tip of the
corresponding parameter as a string.
- '_range': These parameters provide the minimum, maximum,
step width, and default values for the corresponding integer or float
parameter as a tuple with 4 elements, e.g.,
get_framegrabber_param(.., 'Shutter_range', ..) will return
the output tuple [min, max, step, default].
- '_values': These parameters provide the valid value list for
the corresponding parameter as a tuple, e.g.,
get_framegrabber_param(.., 'volatile_values', ..) will return
the output tuple ['enable', 'disable'].
- '_visibility': These parameters provide the visibility of the
corresponding parameter as a string. Possible values are
'beginner', 'expert', and 'guru'.
All these postfixed parameter names are not returned when calling
info_framegrabber(.., 'parameters', ..) and are used
to enable the easy parameterization via a generic graphical user
interface, particularly the HDevelop Image Acquisition Assistant.
The SICK parameters of the camera can be different depending on the device
type and the current loaded configuration file (.prm). Therefore, use
get_framegrabber_param(..., 'available_param_names', ...) to obtain
a tuple containing all available parameters of the connected camera. To get
a parameter, e.g. the current 'exposure time' of the 'HorThr 1' component
in 'Measurement' configuration, the user can call
get_framegrabber_param(...,
'<Measurement><HorThr 1>exposure time', ...).
| Parameter |
Values |
Default |
Type |
Kind |
Description |
| 'active_channel' |
-1, value |
-1 |
integer |
dynamic |
Number of the active channel, if measurement configuration is chosen. -1 uses all channels.
|
| 'available_callback_types' |
['<callback_type>'] |
|
string |
dynamic |
Query all callback types which are supported by this interface. |
| 'available_param_descriptions' |
['<descriptions>'] |
|
string |
dynamic |
A list containing additional information about all parameters. The order of the entries is equal to the order of the parameter names returned by
'available_param_names'.
|
| 'available_param_names' |
['<parameters>'] |
|
string |
dynamic |
The list contains the names of all available parameters. |
| 'available_parameters' |
'<iCon parameters tree>' |
|
string |
dynamic |
Complete XML subtree of the current configuration ('image' or 'measurement'). |
| 'bits_per_channel' |
<default> |
-1 |
integer |
pre-defined |
The value is not used, so a default value is returned. |
| 'buffer_queue' |
'disable', 'enable' |
'disable' |
string |
pre-defined |
Enables/disables the use of SICK frame grabber's internal queue of buffers in case of continuous asynchronous grabbing. Notice that in case of
continuous asynchronous grabbing with 'buffer_queue' disabled but
'start_async_after_grab_async' enabled, the 'buffer_queue' parameter will
be ignored and the SICK frame grabber's internal queue of buffers will be
used (no buffers lost). See also 'continuous_grabbing' parameter
description.
|
| 'buffer_size' |
<MB> |
50 |
integer |
dynamic |
Size in Megabyte of the buffers used for the image acquisition. Only valid for Ethernet cameras.
|
| 'calibration_filter' |
'disable', 'enable' |
'disable' |
string |
pre-defined |
Enables/disables the calibration filter for the 'Range' subcomponent. In measurement configuration, grab_data/grab_data_async then returns two
additional images with the 'Range X' and 'Range R' data. Note that in case
a LUT file is used, it has to be loaded before the calibration filter is
enabled.
|
| 'camera_reset_on_close' |
0,1 |
0 |
integer |
pre-defined |
Camera reset enabled in close_framegrabber. |
| 'camera_start_delay' |
<milliseconds> |
20 |
integer |
dynamic |
In some cases packets are lost, if the camera is started too soon after starting the grabber. With this parameter a delay for starting the camera
can be set.
|
| 'camera_status' |
'<status>' |
|
string |
dynamic |
Current status of the SICK camera. |
| 'camera_type' |
'<prm_file>' |
|
string |
pre-defined |
Name of the camera parameter file. |
| 'channel_names' |
'<channel names>' |
|
string |
dynamic |
Names of the data channels. Format: 'Component Name (Measure)' (e.g.['HorThr 1 (Range)', 'Gray 2 (Gray)', 'HiResGray 1 (Gray)',
'Scatter 1 (Direct)', 'Scatter 1 (Scatter)', 'Range X', 'Range R',
'Rectified Data (Range)', 'Rectified Data (Intensity)']).
|
| 'color_space' |
'<configuration>' |
'measurement' |
string |
pre-defined |
Current configuration. |
| 'configuration' |
'image', 'measurement' |
'measurement' |
string |
pre-defined |
Configuration of the camera. If set to 'image', every call of grab_image and grab_image_async will result in a gray value image. If set to
'measurement', a multi-channel image containing the measurement components
as defined in the prm-file will be returned. Please note that when changing this
parameter in HDevelop Image Acquisition Assistant, the 'Refresh' button has to
be applied to update the current 'active_channel' values list.
|
| 'continuous_grabbing' |
'disable', 'enable' |
'disable' |
string |
pre-defined |
If 'continuous_grabbing' is enabled, data is continuously acquired by the camera. Otherwise data is only acquired when calling grab_image or
grab_image_async. See also 'buffer_queue' parameter. Note: due to
iCon API limitations, in case of Ranger C devices, 'continuous_grabbing'
mode may not behave as expected:
- if synchronous grabbing (grab_image/grab_data): next available buffer
in SICK frame grabber's internal queue of buffers is delivered.
- if asynchronous grabbing (grab_image_async/grab_data_async) and
'start_async_after_grab_async' and 'buffer_queue' disabled: next
available buffer in SICK frame grabber's internal queue of buffers
is delivered.
|
| 'device' |
'<ip_address>' or '<device_id>' |
|
string |
dynamic |
Current device. |
| 'device_type' |
'<type>' |
|
string |
dynamic |
Type of the current device. |
| 'external_trigger' |
<default> |
'false' |
string |
pre-defined |
The value is not used, so a default value is returned. |
| 'field' |
'<default>' |
'progressive' |
string |
pre-defined |
The value is not used, so a default value is returned. |
| 'generic' |
'', ['buffer_size=<MB>', 'camera_reset_on_close=1', 'low_level_timeout=<ms>', 'use_error_handler=1',
'use_socket_driver=1'], -1
|
-1 |
mixed |
pre-defined |
Values of the Generic parameter. |
| 'grab_timeout' |
<milliseconds> |
5000 |
integer |
pre-defined |
Current grab timeout in milliseconds. |
| 'horizontal_resolution' |
<default> |
1 |
integer |
pre-defined |
The value is not used, so a default value is returned. |
| 'image_available' |
0, 1 |
|
integer |
dynamic |
Status of the last asynchronous grab command. The value 1 means that the image is already acquired and thus can be fetched by grab_image_async without
delay. Note that this parameter is especially useful in combination with
external triggering.
|
| 'image_height' |
<height> |
0 |
integer |
pre-defined |
Height of the desired image part ('0' stands for the complete image).
|
| 'image_width' |
<width> |
0 |
integer |
pre-defined |
Width of the desired image part ('0' stands for the complete image).
|
| 'interpolation_method' |
'linear', 'nearest_neighbor' |
'nearest_neighbor' |
string |
pre-defined |
Interpolation method for the registration filter. |
| 'line_in' |
<default> |
0 |
integer |
pre-defined |
The value is not used, so a default value is returned. |
| 'low_level_timeout' |
<ms> |
0 |
integer |
pre-defined |
Low level timeout value in milliseconds for Pleora eBus. |
| 'lut_file' |
'<LUT-file>', 'flash' |
'flash' |
string |
dynamic |
Load the lookup-table for calibration from the specified path and filename. Set the parameter value to 'flash' to clear the file name and to use the LUT
file from the camera flash. The LUT file has to be set before the calibration
filter is enabled.
|
| 'name' |
'SICK-3DCamera' |
|
string |
pre-defined |
Name of the HALCON interface. |
| 'parameters_file' |
'<prm_file>' |
|
string |
dynamic |
Parameter file name (e.g. C:\prm-files\RangerE.prm) to be used by 'do_load_parameters' action parameter.
|
| 'port' |
<port> |
0 |
integer |
pre-defined |
Current port number. |
| 'rectification_filter' |
'disable', 'enable' |
'disable' |
string |
pre-defined |
Enables/disables the rectification filter for the 'Range' subcomponent. In measurement configuration, grab_data/grab_data_async then returns two
additional images with the rectified 'Range' and 'Intensity' data. Please
note that to enable this parameter, the 'calibration_filter' has to be
previously enabled.
|
| 'rectification_method' |
'bottom_most', 'mean', 'top_most' |
'mean' |
string |
pre-defined |
Method for the rectification filter. |
| 'rectification_width' |
|
|
integer |
pre-defined |
Width of rectified buffer (X-direction). |
| 'revision' |
'<revision>' |
|
string |
pre-defined |
Revision number of the SICK-3DCamera interface. |
| 'scan_size' |
<bytes> |
|
integer |
dynamic |
Size in bytes of one profile (scan). |
| 'serial_number' |
'<serial number>' |
|
string |
dynamic |
Serial number of the camera. |
| 'shift_blue' |
<shift> |
0.0 |
float |
pre-defined |
Shift value (as float) of the blue channel. Please note that this value must be set according to your configuration, if color components are used.
Continuous asynchronous grabbing is required
(grab_image_async/grab_data_async with 'continuous_grabbing' enabled).
|
| 'shift_green' |
<shift> |
0.0 |
float |
pre-defined |
Shift value (as float) of the green channel. Please note that this value must be set according to your configuration, if color components are used.
Continuous asynchronous grabbing is required
(grab_image_async/grab_data_async with 'continuous_grabbing' enabled).
|
| 'shift_red' |
<shift> |
0.0 |
float |
pre-defined |
Shift value (as float) of the red channel. Please note that this value must be set according to your configuration, if color components are used.
Continuous asynchronous grabbing is required
(grab_image_async/grab_data_async with 'continuous_grabbing' enabled).
|
| 'software_version' |
'<version>' |
|
string |
dynamic |
Version number of the SICK software SDK. |
| 'start_async_after_grab_async' |
'disable', 'enable' |
'enable' |
string |
pre-defined |
Status of 'start_async_after_grab_async'. |
| 'start_column' |
<column> |
0 |
integer |
pre-defined |
Returns the current start column of the HALCON image. |
| 'start_row' |
<default> |
0 |
integer |
pre-defined |
The value is not used, so a default value is returned. |
| 'use_error_handler' |
0, 1 |
0 |
integer |
pre-defined |
Status of the SICK error handler. |
| 'use_socket_driver' |
0, 1 |
0 |
integer |
pre-defined |
Current driver mode (1: Normal (Socket driver) / 0: Fast (Fast Ethernet driver). |
| 'vertical_resolution' |
<default> |
1 |
integer |
pre-defined |
The value is not used, so a default value is returned. |
Not supported by this interface.
Not supported by this interface.
All actually supported callback types of a specific image acquisition
device can be queried by calling get_framegrabber_param with the
parameter 'available_callback_types'. Once the callback is registered,
on every occurrence of the underlying event (e.g., the notification
that the exposure has finished) the specified callback function will be
called. If the callback function is set to NULL, the corresponding
callback will be unregistered.
The signature of the callback function is
Herror (__stdcall *HAcqCallback)(void *AcqHandle, void *Context, void *UserContext)
and uses the following parameters:
- AcqHandle
Acquisition handle of the corresponding image acquisition
instance.
- Context
Optional context data of the specific callback.
- UserContext
User context as set via set_framegrabber_callback.
Using user-callback functions
Note that the execution time of a user-specific callback function should
always be as short as possible since during the execution of a callback
function the handling of further internal callbacks might be blocked.
This can be achieved by removing the actual processing from the
user-specific callback function to a separate thread that is controlled
via signals or events.
| Type |
Description |
| 'transfer_end' |
Corresponds to the end of the buffer copy in SICK callback routine. This callback is called by the frame grabber as soon as
there is a full buffer available. See SICK documentation for more
details.
|
grab_image starts a new synchronous grab. See also
grab_image. Note that
the interface converts the image from the device to the desired image format
specified by the parameters 'image_width', 'image_height', 'start_row',
'start_column', 'bits_per_channel', and 'color_space'.
grab_image_async returns an image and starts the next asynchronous grab. See also
grab_image_async. Note that the interface converts the image
from the device to the desired image format specified by the parameters
'image_width', 'image_height', 'start_row', 'start_column',
'bits_per_channel', and 'color_space'. 'MaxDelay' argument parameter is
ignored, that means that the image age check is deactivated.
| Parameter |
Type |
Count |
Description |
| 'image' |
|
|
Depending on the used configuration an array of images is returned. If calibration and rectification is used, the resulting image data
is also returned. The names of the images can be queried by the
parameter 'channel_names'. The type and the number of images depend on
the used configuration.
|
| 'contours' |
|
|
Not used. |
| 'region' |
|
|
Not used. |
| 'data' |
tuple |
|
If mark data is enabled, the values for each component are returned. |
Same return values as
grab_data, but here an asynchronous grab is started.
HDevelop Examples
For this interface there are the following examples available:
- sick-3dcamera.hdev - Benchmark.
- sick-3dcamera_buffer_queue.hdev -
Usage of SICK frame grabber's internal queue of buffers.
- sick-3dcamera_calibration.hdev -
Usage of calibration and rectification.
- sick-3dcamera_components.hdev -
Usage of different parameter sets.
- sick-3dcamera_grabbing_modes.hdev -
Usage of the different grabbing modes.
- sick-3dcamera_objectmodel3d.hdev -
Acquisition and visualization of SICK calibrated 3D data.
- sick-3dcamera_parameters.hdev -
Lists all parameters of a device.
- sick-3dcamera_simple.hdev -
A simple example to show the usage of the interface.
Release Notes
- Revision 13.0.3 (Aug 8, 2018):
- The technical dependency from the HALCON Library has been removed.
- Camera Link devices support has been set to legacy.
- Now info_framegrabber(.., 'device'/'info_boards', ..) only
lists the available Ethernet devices, but not the Camera Link devices
(legacy).
- Now open_framegrabber using 'default' as Device parameter only works
for Ethernet devices. Camera Link devices (legacy) are ignored. To
open a Camera Link device (Ranger C) the device name has to be
indicated, see 'Device' parameter in
open_framegrabber.
- Revision 13.0.2 (Jul 14, 2017):
- The registration filter (used for color shifting) was allocated
and de-allocated for each grab call, discarding the previous
profiles and avoiding the reuse of the data for shifting. This
problem has been fixed; and now the allocation is done only once.
- Using a camera configuration with no intensity subcomponent led to a
crash in HDevelop when calling a grabbing operator after enabling
the rectification filter. This problem has been fixed.
- The HDevelop example sick-3dcamera_objectmodel3d.hdev has been
improved by checking if a Range component has been loaded and if the
'Rectified Data (Intensity)' is available.
- 'do_load_parameters' did not re-initialize the calibration,
rectification and registration filter, if needed. This problem
has been fixed.
- Changing the '<Measurement>number of columns' could lead to a
crash in HDevelop. This problem has been fixed.
- Revision 13.0.1 (Oct 28, 2016):
- HALCON 13 version of the interface.
- Revision 6.4 (Jun 24, 2016):
- The interface has been adapted to support SICK iCon API 5.1 SR1.
- The new Generic parameter 'low_level_timeout' has been added to
set a low level timeout value for Pleora eBus.
- In case of asynchronous grabbing with 'continuous_grabbing' disabled
and 'start_async_after_grab_async' enabled (default mode), a timeout
could happen although a new acquired buffer was already available. This
problem has been fixed.
- The parameter 'image_available' could be '1' in case of continuous
asynchronous grabbing with 'buffer_queue' and
'start_async_after_grab_async' disabled. Since all current buffers
in the SICK frame grabber's internal queue will be discarded, in
the next grabbing call, 'image_available' must remain '0'. This
problem has been fixed.
- Setting 'do_save_parameters' without specifying a value led to a
crash. This problem has been fixed.
- The error code H_ERR_FGABORTED (#5336) is now returned by the grab
operators when a grab has been aborted instead of the former
H_ERR_FGF (#5306).
- In case that the Generic parameter 'use_error_handler' was set to 1
in open_framegrabber, the SICK error handler was not removed in
close_framegrabber. This problem been fixed.
- A WoW64 note has been added to the
System Requirements section.
- Revision 6.3 (Aug 26, 2015):
- When enabling the 'rectification_filter', only the rectified range
was returned. Now the rectified intensity is also returned. Notice
that the channel name (value in 'channel_names') for the rectified
range has been changed from 'Rectified Data' to 'Rectified Data
(Range)'. See section 3D
Calibration and Rectification for further information.
- The HDevelop example sick-3dcamera_objectmodel3d.hdev has been
adapted to extract and display the 'Rectified Data (Range)' and
'Rectified Data (Intensity)'.
- The rectification width was internally set to the same value as
the calibration width. Now this value can be changed via the parameter
'rectification_width'.
- The parameter 'available_param_names' returned some empty parameters
and the subcomponents parameters were missing. This problem has been
fixed. Notice that with SICK iCon 5 API the <PC> parameters are
not available anymore.
- The protocol timeout could not be changed when resetting the camera in
close_framegrabber (case 'camera_reset_on_close' = 1), because this
SICK parameter has to be accessed in another way with SICK iCon 5 API.
This problem has been fixed.
- The Generic parameter 'camera_reset_on_close' is only required for
Ethernet devices. For Camera Link devices, this parameter is now
ignored and a note has been added to the parameter description in this
documentation.
- Revision 6.2 (Jul 22, 2015):
- close_framegrabber crashed if the 'rectification_filter' was enabled.
This problem has been fixed.
- The resources used by the rectification filter were not freed when
disabling the 'rectification_filter'. This problem has been solved.
- Revision 6.1 (May 4, 2015):
- Adapted to SICK iCon API 5.1.
- Removed extraordinary runtime dependencies.
- When using Measurement Component Hi3D COG with a Ranger D or E,
bad images were returned. This problem has been fixed.
- Revision 6.0 (Oct 31, 2014):
- HALCON 12 version of the interface.
- Revision 5.9 (Aug 27, 2014):
- Adapted to SICK iCon API 4.4.3 and eBus driver 3.1.
- Fixed checking relative or absolute path in 'do_save_parameters'.
- Improved error handling of Generic parameter in open_framegrabber.
- Revision 5.8 (May 23, 2014):
- Fixed bug in open_framegrabber when freeing resources in case of an
error.
- Improved info_framegrabber(.., 'camera_type', ..). Now the
search path is defined by the environment variable IVP_3D_CAMERA.
- Fixed bug in set_framegrabber_param when trying to set a parameter
without specifying a value.
- Fixed bug in open_framegrabber when loading a camera parameter (.prm)
file. In some cases, the internal state of the SICK parameters was not
correctly updated.
- Revision 5.7 Addendum (Mar 20, 2014):
- The LUT file is now set before the calibration filter is enabled in
the HDevelop example
sick-3dcamera_calibration.hdev and
sick-3dcamera_objectmodel3d.hdev.
- Revision 5.7 Addendum (Oct 11, 2013):
- Added, to this documentation, a hint to load the LUT file before the
calibration filter is enabled. Here, the internal behaviour of the
interface was changed in order to solve a bug
in revision 5.4.
- Revision 5.7 (Jul 23, 2013):
- Adapted to SICK iCon API 4.4: support of eBus driver 3.0, static
port allocation (see 'Port' parameter in
open_framegrabber) and 64-bit Windows support for Ranger C.
- Added Generic parameter
'camera_reset_on_close' as a workaround to
solve an internal camera problem in case of Ethernet devices.
- Removed the legacy parameters 'module_path', 'module_name' and
'module_value' used to set/get SICK parameter values. Please use
the new handling method for SICK parameters instead (see Release
Notes from Aug 23, 2012).
- Removed the legacy parameter 'trigger_mode'. Please use
'<Image>trig mode' or '<Measurement>trig mode' instead.
- Fixed bug in open_framegrabber in case of Generic parameter
with empty string values.
- Revision 5.6 (May 27, 2013):
- Added new example sick-3dcamera_grabbing_modes.hdev that shows
the behavior of the different grabbing modes
(asynchronous/synchronous) depending on the following parameters:
'continuous_grabbing', 'buffer_queue' and
'start_async_after_grab_async'.
- Improved example sick-3dcamera_buffer_queue.hdev to show
how to recover from overflow in SICK frame grabber's internal
queue of buffers by using 'do_abort_grab'.
- Fixed deadlock bug when registering the 'transfer_end' callback
after enabling 'continuous_grabbing'.
- Fixed bug in 'image_available' parameter in case of continuous
asynchronous grabbing with 'buffer_queue' and
'start_async_after_grab_async' disabled.
- Fixed bug in grab_image_start. Now the camera and frame grabber will
be correctly set for the next asynchronous grabbing.
- Changed behavior of the 'continuous_grabbing' enabling. Now the camera
and frame grabber will be first started in grab_image_start or in
the corresponding grabbing operator.
- Fixed calibration filter bug in case of error in grab_data or
grab_data_async.
- Fixed synchronization bug when using more than one camera.
- Revision 5.5 (Mar 25, 2013):
- Fixed bug in case of using only one component with a 16 bit
representation.
- Reviewed and adapted documentation.
- Revision 5.4 (Feb 26, 2013):
- Added new parameter 'scan_size' to calculate the current number of
buffers in SICK frame grabber's internal queue.
- Added new example sick-3dcamera_buffer_queue.hdev that shows
how to use the SICK frame grabber's internal queue of buffers.
- Added new documentation section 'Using SICK
frame grabber's internal queue of buffers section'.
- Fixed typo in the documentation: 'parameter_file' to 'parameters_file'.
- Fixed bug when enabling the mark data with set_framegrabber_param.
- Fixed bug in the initialization of the calibration filter that could
lead to a corrupted image.
- Fixed thread-safety bug in the initialization of the calibration
filter.
- Fixed bug in 'Range R' and 'Range X' images width in case that the
'rectification_filter' is disabled.
- Revision 5.3 (Nov 16, 2012):
- Added new example sick-3dcamera_objectmodel3d.hdev that shows
how to acquire and visualize SICK calibrated 3D data.
- Fixed bug in case of image acquisition timeout.
- Documentation improvement regarding SICK parameter handling and
'transfer_end' callback.
- Revision 5.2 (Sep 28, 2012):
- Fixed bug in measurement configuration with only 1 component and
'active_channel' = -1.
- Adapted the HDevelop example sick-3dcamera_components.hdev
to be compatible with cameras that only support one single measurement
configuration component.
- Fixed bug when changing some SICK parameters with 'Argument' type
(e.g., '<Measurement>scan height'). Now, if the data from the
camera has changed, not only the camera and the frame grabber are
stopped, but also disconnected.
- Improvement in info_framegrabber(.., 'defaults', ..): Now
the 'device' parameter default value is 'default' (instead of '0').
When using the 'default' value in open_framegrabber, the first
Ethernet (or Camera Link) device found will be opened.
- Revision 5.1 (Aug 23, 2012):
- The open_framegrabber input parameter 'ExternalTrigger' has been
deprecated to avoid confusion with SICK trigger mode methodology. Now
this parameter is ignored and current camera configuration is kept.
Please notice that your code may require an adaptation. Notice that,
in case of 'ExternalTrigger'='true', 'use enable' was set to '2' and
in case of 'ExternalTrigger'='false', 'use enable' was set to '0'.
- Fixed bug in the 'Rectified Data'. If a high-resolution measurement
component was available, the 'Rectified Data' width was not correctly
set. Now 'Range R' and 'Rectified Data' have the same width.
- Fixed bug in parameter 'channel_names'. When enabling the calibration/
rectification filter, in case of only 1 measurement component,
'channel_names' was not correctly updated.
- Improvement in parameter 'rectification_filter'. Now to enable this
parameter, the 'calibration_filter' has to be previously enabled.
- Improvement to verify if the Ethernet camera application version is
compatible (>= <IP_ADDRESS>) with the fast driver mode. If not compatible
an error is returned.
- Adapted grab engine to allow the use of frame grabber's internal queue
of buffers in case of 'continuous_grabbing' enabled and improve CPU
usage.
- Added new parameter 'buffer_queue' to enable/disable the use of the
frame grabber's internal queue of buffers.
- Removed Generic parameter 'num_buffers' to avoid confusion with
frame grabber's internal queue of buffers.
- Fixed bug in 'grab_timeout' parameter. Now '-1'(INFINITE) value is
correctly set.
- Added 'do_abort_grab' functionality.
- Adapted parameter 'camera_status' to also show Ranger C camera status.
- Added implementation of queries info_framegrabber
(.., 'info_boards', ..) and info_framegrabber
(.., 'device', ..) to also list Ranger C devices in case of 32 bit
OS. In case of 'info_boards', more detailed information is returned.
- Updated the HDevelop example sick-3dcamera.hdev to use
info_framegrabber(.., 'device', ..) query to list the available
devices.
- Fixed bug in parameter 'active_channel' when changing from one channel
to another channel with bigger image width.
- Fixed bug in parameter 'configuration'. Now after changing the
configuration, 'active_channel' is set to '-1' in case of 'measurement'
configuration and to '0' in case of 'image' configuration.
- Added new parameter handling method for SICK parameters. Values can be
set/get using set_framegrabber_param/get_framegrabber_param. The name
of the parameter needs a prefix to indicate the corresponding
configuration and component (e.g. '<Measurement><Gray 2>start
row'). Use 'available_param_names' parameter to obtain a list of the
current available parameters.
- Added new parameters 'available_param_names' and
'available_param_descriptions' to list the current available
parameters and the corresponding description.
- The parameters 'module_path', 'module_name' and 'module_value' are set
legacy (not available in HDevelop Image Acquisition Assistant).
- The parameter 'trigger_mode' is set legacy (not available in HDevelop
Image Acquisition Assistant). Instead, use '<Image>trig mode' or
'<Measurement>trig mode'.
- Updated the HDevelop examples sick-3dcamera_components.hdev
and sick-3dcamera_parameters.hdev to show the new parameters
handling method.
- Added functionality to handle 'transfer_end' callback and the new
parameter 'available_callback_types'.
- Improved parameter handling in HDevelop Image Acquisition Assistant.
- Added new parameters 'do_load_parameters' and 'parameters_file' to be
able to load previous saved configurations (.prm file).
- Updated the HDevelop example sick-3dcamera_components.hdev to
show how to use the new parameters 'do_load_parameters' and
'parameters_file'.
- Revision 5.0 (May 15, 2012):
- HALCON 11 version of the interface (included in HALCON 11 DVD).
- Revision 4.7 (Oct 13, 2011):
- Adapted to SICK iCon API 4.3 with support of eBus driver
for 64-bit Windows.
- Changed requirements for x86 version of the interface from
Microsoft Visual C++ 2005 Redistributable Package to
Microsoft Visual C++ 2008 Redistributable Package.
- Fixed problems with lost packets when setting parameters
'configuration', 'module_value', or 'trigger_mode'.
- Fixed problem with message boxes of the SICK error handler.
- Added parameter 'camera_status' to show the current camera status.
- Added Generic parameter 'use_socket_driver=1' to allow usage of
the socket driver (driver mode: Normal).
- Added setting of 'redundancy frequency' and 'heartbeat interval'
to open_framegrabber. If these values are zero a default
of 10s for 'redundancy frequency' and 180s for 'heartbeat interval'
are set.
- Added parameter 'camera_start_delay' to make it possible to delay
the start of the camera.
- Revision 4.6 (May 30, 2011):
- Fixed problem in set_framegrabber_param regarding
setting specific parameter values via 'module_value'. Now,
the value is correctly set.
- Revision 4.5 (Mar 11, 2011):
- Adapted to SICK iCon API 4.2 with support of Windows 7 and
Windows XP x64 editions.
- Fixed display problem of grab_image/grab_image_async
if a configuration with only one high resolution channel is used.
- Fixed exception when using parameter 'active_channel' in
combination with a high resolution image.
- Improved behavior of parameter 'channel_names': Now the correct
values are returned, even if only one channel is active.
- Changed default value of parameter 'active_channel' to -1.
Thus, it is also possible to reset this value.
- Revision 4.4 (Oct 20, 2010):
- Fixed crashes while grabbing an image (caused by using wrong
runtime libraries).
- Fixed additional restart of acquisition when using external
trigger with asynchronous grab and calibration filter.
- Fixed problem causing error message #6001 ('Not enough memory
available') when using calibration and rectification filter.
- Revision 4.3 (Jul 30, 2010):
- Adapted to SICK iCon API 4.1.
- Added support of color components to
grab_image/grab_image_async and grab_data/grab_data_async.
- Added parameters 'buffer_size', 'device_type',
'interpolation_method', 'num_buffers', 'shift_blue',
'shift_green', 'shift_red', 'start_async_after_grab_async',
and 'use_error_handler'.
- Added additional mark data information. Now the mark data for
every scan is returned. The component name of the mark data values
has been added for better readability.
- Added trigger modes 3, 4, and 5 to parameter 'trigger_mode'.
- Added 'num_buffers' to the Generic parameter in
open_framegrabber to allow setting of the used number
of buffers.
- Added the possibility to enable SICK error handler to the Generic
parameter in open_framegrabber.
- Added descriptions of parameters, which can be
requested by
get_framegrabber_param(..., '<parameter_name>_description', ...).
- Fixed problem when trying to set parameter 'trigger_mode'
before an image has been grabbed.
- Adapted example programs to support prm files with color components.
- HALCON 10 version of the interface (included in HALCON 10 DVD).
- Revision 4.2 (Mar 10, 2010):
- Fixed bug in 3D calibration functionality in combination
with 'High 3D COG' configuration files. Note that for
this fix it is necessary to use version <IP_ADDRESS>
of the SICK 3DCamera SDK installed. Otherwise, the call of
grab_data or grab_data_async will crash.
- Added implementation of
info_framegrabber(.., 'generic', ...) to query all
supported values for the Generic parameter in open_framegrabber.
- Revision 4.1 (Feb 12, 2010):
- Fixed bug in operator
info_framegrabber(.., 'info_boards', ..)
to prevent application termination.
- Changed behavior of parameters 'external_trigger' and
'trigger_mode': Now, 'external_trigger' correctly sets the
parameter 'use enable' of the SICK API instead of 'trig mode'.
The parameter 'trigger_mode' is now independent from the
setting of the 'external_trigger' parameter.
- In measurement mode, setting 'external trigger' to
'true' in open_framegrabber was ignored.
This bug has been fixed.
- Added paragraph about the difference between the image
representation in Ranger Studio and HALCON.
- Revision 4.0 (Nov 11, 2009):
Legal disclaimer regarding hyperlinks:
This page may provide users with access by hypertext links to external, non-MVTec websites.
Any such access is provided with the understanding that the contents
of non-MVTec sites are beyond the control of MVTec Software GmbH, that
MVTec Software GmbH makes no representations whatsoever about such
sites, and that users shall proceed at their own risk.
MVTec Software GmbH is not responsible for the privacy practices or
the content of external, non-MVTec websites.
Copyright notes:
© Copyright MVTec Software GmbH. All rights reserved.
Unless otherwise stated, the copyright and similar rights in the
contents of this page, including but not limited to all text, designs
and images appearing herein, are copyrighted works owned by MVTec
Software GmbH.
"MVTec Software GmbH" and "HALCON" are registered trademarks of MVTec
Software GmbH.
All other brand names, designs, service marks and trademarks (whether
or not registered) referenced or used herein are the property of their
respective owners.


Bugatti EB218
Nice interior.
Specs(performance data from a computer simulation)
Price |
N/A (you shouln't be asking) |
Top Speed |
180(est) |
Acceleration |
|
Engine |
|
0-30mph |
N/A |
Type |
W18, 72valve 6 overhead cams (!!) |
0-60mph |
4.5(est) |
Displacement |
6.3L(6255cc) |
0-100 |
N/A |
Power |
555hp@6800rpm |
1/4 mile |
N/A |
Torque |
480 lbs-ft@4000rpm |
Weight |
N/A |
Handling |
|
Gas mileage |
|
Skidpad |
N/A |
City |
N/A |
600ft slalom |
N/A |
Highway |
N/A |
Powertrain |
Front engined, All wheel drive, 5 speed auto |
(? = incomplete data or unverified info, N/A = info Not Available)
Beyond the specs:
Bugatti now back from this dead, raised up from the ashes by VW's eccentric owner Ferdinand Piëch and fortunately along with the name, he brought back the soul of the company too. As you can see from the stats of this car Mr. Piëch is quite eccentric, for who would put 18 cylinders in a sedan who's weight has been reduced by use of aluminum. (Just like on the Audi S8 another VW owned company.) The result of course is a sedan so amazingly fast that according to computer simulations no sports car short of the Porsche GT3 can out accelerate it. Its wonderful engine sounds like a turbine and idles at an amazing 3000rpm close to half its 8000-rpm redline! It is still a prototype however its competition has already been set, Rolls Royce is its competition. Yes, this amazingly fast sedan will have the luxury to compete against a car that is perhaps most luxuriest car in the world the Rolls Royce Silver Seraph. Which of course is a lot slower and cost upwards of $300,000, this Bugatti will also have a handling (as expected) and all wheel drive advantage over the Rolls Royce and it will have just as much interior space. However, you will have to pay for it, though the number probably will not exceed $300,000 by very much. This vehicle is obviously; "The best sedan money can buy". I am just waiting for the pricing and fuel economy numbers to be released to the public.
~Oracle


Welcome to the Wiki loves iNaturalist tool. This tool helps you find articles of species on Wikipedia and Wikidata that lack images and find appropriately licensed images in iNaturalist to use in Wikipedia articles. We can make suggestions of articles that need images or you might have one in mind?


--- layout: post authors: ["Greg Wilson"] title: "A MOOC on Practical Numerical Methods with Python" date: 2014-08-14 time: "21:00:00" tags: ["Announcements"] ---
As announced at SciPy'14 last month Prof. Lorena Barba will be teaching a MOOC titled Practical Numerical Methods with Python this fall, and the course site is now open for registration. Having worked through her excellent 12 Steps to Navier Stokes notebooks, I think this will be a great course, and I urge everyone interested in the subject to check it out.


Landing Page
Special Projects
This story is part of a series of specially designed stories that represents some of the best journalism The Post has to offer. Check out the rest of the special projects here.
Marcus Pavilonis
10/4/2018
House Bill 658, or the Parent’s Rights Bill, could potentially affect LGBTQ minors.
According to the bill, government agents, or entities, who work with minors would have to out them to their parents or legal guardians, without their consent if they showed signs of gender dysphoria. The bill was proposed by two Republican representatives, Tom Brinkman and Paul Zeltwanger.
It would make providing gender dysphoria treatment without consent from each parent or guardian a fourth-degree felony. Treatment for gender dysphoria range from counseling to surgery.
The bill would also keep courts from making custody decisions based on parents refusal of gender-based medical treatment.
The Parent’s Rights Bill is said to focus on the parental rights in the situation, but it fails to mention the dangers that the child may face if their families are unaccepting.
“The reality of this bill is that it has the potential of doing more harm to trans youth and placing them in risky situations such as being kicked out of their homes, being forced into conversion therapies to cure them of their ‘illness’ and creates an environment where young people will become more scared to share their truth,” delfin bautista, the director of the LGBT Center, said in an email.
bautista said in an email that research and anecdotal experience reflects that LGBTQ youth are three to four times more likely to attempt or die by suicide. The rates for transgender youths are four to five times higher.
The bill also puts adults in charge of these children in a position that they may not be comfortable or willing to be in and could cause problems with youths in the future, like in college.
Marcus Pavalonis | ILLUSTRATION
“Students will be coming to college/university with additional levels of stress… will folks become more hesitant to share their journeys as well as possibly becoming even more reluctant to share incidents of harassment/violence due to fear of being outed? It’s a slippery slope,” bautista, who uses they/them pronouns and lowercase spelling of their name, said.
bautista said the university also does work with the community, especially high schools in the area, and run the risk of further isolating individuals in an area were LGBTQ inclusive resources are limited.
Maggie Mcmanus, a freshman studying psychology, said she identifies as an ally for transgender people.
“Schools have no right to be in the personal business of students,” Mcmanus said.
Mcmanus said people need to vote and not just say they’re going to fight this bill without actually doing anything.
While people are worried about the dangers this could cause for transgender youth, those who have already experienced coming out for themselves are even more worried. They know what it’s like to come out to friends and family and don’t want other people to be forced into it.
Ariel Keener, a freshman studying sociology, came out to friends and family in late 2017. She said that the main issue with forcing a child to come out can be an extremely emotionally taxing process.
“A trans individual isn’t likely to (die by) suicide after they’ve been out for years and have medically transitioned. They’re going to try when they come out and everyone has their eyes on them. Not to mention it’s a shock when the family finds out from another source,” Keener said.
Student Senate recently passed a bill condemning House Bill 658, according to a previous Post report. Members of Student Senate felt the bill was a violation of rights and highly discriminatory toward LGBTQ — specifically transgender — students.
During the debate for condemning the bill, Student Senate members discussed why this issue is important to students, especially the LGBTQ students at Ohio University. Members said it is important that all students of the university feel accepted as who they are as a person and have treatment services available to them.
House Bill 658 is scheduled to go before legislatures in the fall.
Landing Page
This story is part of a series of specially designed stories that represents some of the best journalism The Post has to offer. Check out the rest of the special projects here.


Cincinnati, Ohio
Class of 2020
Jacob Young started to use a computer at age 4. He would play addictingGames.com at his dad's office and listen to Hey Ya. He has used a Windows XP desktop from early 2000's, Macbook from 2006, Toshiba from 2009, and a rotation of Macbook Pros since. He enjoys surfing Wikipedia pages, reading the Economist online, and watching Spanish netflix shows. Unlike a Computer Scientist, who likely spends his or her day researching ways to improve the structure of the internet, he takes it as granted and enjoys the black box of the world wide web. He decided to study Computer Science his freshman year of college. He had always had an interest in the mystic life oa a hacker/programmer and develop.er Yet, Jacob thought he would do the familiar law path and hold the line, but realized he enjoyed development and making stuff. It is why he is studying Computer Science. He took CS 290 as a way to build Web dev. experience. He has some experience with Mobile dev, but really needs the structured approach to understand the mess called Web development. The reason Web development is weird is the abundance of languages and scripts. To create and style the website, you need to know HTML and CSS. But to make those elements do anything, you need a little Javascript to throw in the pot. In addition, for further work with Databases, you may choose a Ruby or PHP backend. Then, adding in the design, you may need to know Sketch, Photoshop, Illustrator and a lot more! In the future, Jacob hopes to use a computer to manage a team of programmers under him and to contribtue to code, prototypes, marketing, and business plans at his own company. He hopes he can rely on a lot more paper, however, and would like his screentime limited.
Really Good Websites
Really Bad Websites
Tutorials


For order questions, please contact customer service.
{{productNumber}} {{productNumber > 1 ? "items" : "item"}} in total {{createdAt}}
{{productNumber}} {{productNumber > 1 ? 'items' : 'item'}} in total： {{symbol}}{{orderSuccess.originalTotalPrice}}
Shipping fees： {{symbol}}0
Total Amount {{symbol}}{{orderSuccess.discountTotalPrice}}
If you have any after-sales questions, you can contact us through the following ways
| Type | Account | Operation |
|<EMAIL_ADDRESS>| COPY |


[gecode-users] install Gecode with Qt-SDK on Mac
Yong LIN
elinyong at gmail.com
Fri Dec 23 08:39:46 CET 2011
Hi All,
I got the problems solved just now. Thanks very much!
regards,
Yong
On Fri, Dec 23, 2011 at 2:36 PM, Yong LIN <elinyong at gmail.com> wrote:
> Hi All,
>
> I met a problem of using Gecode against the Qt. Specifically, I have
> installed the binary version of Qt-SDK and then I compile the Gecode source
> code for installing. Latter, there is an exception says "Qt has not been
> declared." Could you give me some advices on how to configure so that I
> can install Gecode? My OS is Mac. Thanks very much!
>
> regards,
> Yong
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gecode.org/pipermail/users/attachments/20111223/aaa46f23/attachment.htm>
More information about the users
mailing list


A wife suspects her husband is having an affair and can prove it by presenting him with the hair she found on his jacket.
See also Lipstick Mark, a trope that plays out similarly, and Affair Letters, another type of evidence of affairs.
The guy will undoubtedly say that there's a perfectly innocent explanation. And sometimes, there really is. And sometimes the man doesn't even know someone with that hair color.
Not to be confused with Sex Hair.
Examples:
- Detective Conan plays with this in one chapter. Ran, Sonoko, and Sera find a strange hair in Shinichi's house, which leads Sera to immediately tell her two friends how to build a case around that hair...before revealing that it's highly unlikely Shinichi brought anyone into the house and that it's more likely that Subaru brought a woman to the house.
- Hidamari Sketch: A girl's father finds a short hair not of his daughter's color while visiting her home and wonders if she has a cat.
- One single-page Archie Comics comic has Archie inexplicably becoming the First Teen on Mars. He's asked a bunch of questions regarding the terrain, the weather, etc. Cue Ronnie with, "I have one question. Whose purple hair is this?"
- In The Incredibles, Bob's secret superhero work has a lot of "affair" subtext, including Helen finding a piece of rubble and, later, one of Mirage's platinum blonde hairs on his clothes. A cut scene had her confront him and outright ask if he was having an affair; in that case, he claims that the hair was from an old lady at the dry cleaner's.
- Murder by Death: Sidney Wang tries to one up the detective group's Sherlock Scan by concluding that Mrs. Charleston must have dyed her hair red, because the hairs on Mr. Charleston's jacket are blonde, only to realize the truth halfway through his sentence.
- In That Old Feeling, Rowena's bright red hair is a significant part of the backstory because it proved that she'd had an affair with Molly's father while he was still married to Lilly, Molly's mom. At the climax of the movie, Rowena's bright red hair also reveals that she'd slept with Molly's newlywed husband on the previous night.
- In Clueless, Dionne finds an entire extension of hair in Murray's car and accuses him of infidelity. When Murray joking suggests it might fallen off Dionne's hair, she reacts angrily, yelling "I do not wear polyester hair!"
- In the film Crossing Delancey, an African-American character with curly black hair finds a long, straight blonde hair on her boyfriend, which she takes to mean that he's cheating on her.
- Usually affair hair is found in the bedroom, and belongs to the "other woman," but The Kids Are All Right uses a variation, when Nic discovers the truth after finding her wife's distinctive red hair in a bathroom drain at a friend's house. The woman's excuse of having taken a shower to clean up after working in his garden falls flat when Nic reveals that she found her hair in his bed as well.
- A different take in the The Two Jakes.
- So this woman says to her friend, "I'm worried my husband might be cheating on me, but I don't know what to do because there's no evidence." "Oh, that's easy," says her friend, "You just check the lapels of his jacket when he gets home, and then if you find a blond hair you say 'Oh, so you've been seeing a blond woman!' Or you find a brown hair and say, 'Oh, so you've been seeing a brunette!' Then he'll have to confess." The woman thinks this is a great idea, so when her husband comes home that night, she checks his jacket. There's no hair on it at all. So she charges in and yells, "Oh, so you've been seeing a bald woman!"
- A poem by E. E. Cummings in which the wife initially suspects that her husband is having an affair... then he reveals that they have a new cat... then he reveals it's of the wrong colour.
- Lethal White: In this instance it's not hair, it's an earring left in the marital bed, which causes Robin to realize that her husband Matthew is cheating on her with his old girlfriend Sarah Shadlock.
- A Rose for Emily ends with a strand of gray hair found next to a body that's been dead for decades.
- In Wizard and Glass, Roland's friends discover that he's sleeping with Susan this way.
- In the Indian novel The White Tiger, this is how Balram realizes that Ashok slept with the Ukrainian student.
- In Young Dracula, they have some fake Affair Hair — Vlad gets some of his stuffed wolf's hair and pretends it's from his mother's werewolf boyfriend.
- This happens in the Your Show of Shows sketch "Argument to Beethoven's 5th" by Sid Caesar and Nanette Fabray, just as the couple seems to have made up. At the very end, she figures out that it belongs to the cat, and they're reconciled.
- In My Name Is Earl, Earl finds a piece of Darnell's hair on his pillow, but believes it's his own hair. He does find out about the affair nine months later, though.
- Played with in Roseanne. Roseanne notices a hair on one of Dan's shirts, and is suspicious for a moment, before realising it's actually one of hers.
- Parodied in Paul Merton's TV Show where Paul's wife accuses him of having an affair with Gloria Hunniford on the grounds that her entire wig was in the back seat of the car. Paul reasonably points out that it was, in fact, some hay for the rabbit.
- Brunette Gemma Foster's discovery of a blonde hair on her husband's scarf starts off the whole plot of Doctor Foster.
- A different take in Game of Thrones. Catelyn Stark finds a blonde hair in the tower from which her son fell, leading her to suspect that his fall was not an accident. As the previous episode showed, Bran was pushed from the tower after witnessing the queen having sex with her own brother.
- In an episode of Hogan's Heroes, Hogan's contact with the underground resistance (an extremely beautiful woman), accuses Hogan of this when she finds a blonde hair on his jacket which Hogan says came from "Heidi". Subverted when Hogan explains that "Heidi" is one of the guard dogs at Stalag 13.
- In The Good Fight, Diane suspects her husband of cheating because she found a blonde hair on his clothes. Turns out it's from one of Donald Trump's sons, which actually might be worse.
- Playboy: A gag cartoon had a topless Fiery Redhead finding a blonde hair on the beeper of her male lover. When asked about it, the male has a Oh, Crap! look on his face.
- Mariah Carey's "Heartbreaker" has Jay-Z rapping about how "she found a strand of hair, longer than hers". The video shows a toon Mariah finding an Affair Hair.
- An early story arc in FoxTrot features Andy thinking Roger is having an affair, when he's really just working overtime. Andy admits she was wrong and they hug, only for Andy to pluck a hair off his jacket and ask "Whose hair is this?"
- For those who are not familiar with the strip, Roger is balding, and in denial about it.
- There was a strip from The Far Side that caused a bit of controversy because it showed a female chimp picking a blond hair off her chimp husband and asking if he'd been doing more "research" with "that Jane Goodall tramp". Jane Goodall, by the way, loved that strip.
- Jane Goodall herself told the story on the title page of one of the Far Side collections. Her society was getting ready to sue over the strip when she returned from field work. Her reply was, "Wow, real fame at last!" Now, it's one of her society's biggest moneymakers, appearing on many fund-raising products. Ms. Goodall invited Mr. Larson to her preserve - where he promptly got the snot kicked out of him by her lead chimp, a male named Frodo. Just as Planned?
- Catherine has a variant, as it's the girl Vincent's cheating with that finds his girlfriend's hair. Vincent also explains the long pale hair as coming from his chest. In another twist, she knew Vincent had a girlfriend the whole time.
- Sabrina Online has a gag along these lines after Sabrina's dad has the tour of Zig Zag's porn studio - while the hair color is nothing to worry about (since both he and Zig Zag are skunks), the length is...
- The Perry Bible Fellowship's "The Blue Hair" inverts this trope, where Wolverine finds a blue hair on his lover and sets out to get Beast. Played with as the last panel shows that hair comes from a blue lion plush next to the girl's bed.


This application lists all stylesheets that have been registered with applications. Note that some pages and/or templates may reference unregistered stylesheets.


TRIPLE PASTE-AF- miconazole nitrate ointment
Summers Laboratories Inc
Disclaimer: Most OTC drugs are not reviewed and approved by FDA, however they may be marketed if they comply with applicable regulations and policies. FDA has not evaluated whether this product complies.
ACTIVE INGREDIENT
MICONAZOLE NITRATE 2%
Uses
- For the treatment of superficial skin infections caused by yeast (Candida albicans).
- Relieves discomfort, irritation, redness and chafing associated with jock itch
- Cures most jock itch (tinea cruris)
WARNINGS
FOR EXTERNAL USE ONLY
When using this product avoid contact with eyes
Stop use and ask a doctor if
- irritation occurs
- there is no improvement within 2 weeks
Do not use on children under 2 years of age unless directed by a doctor.
KEEP OUT OF REACH OF CHILDREN.

Directions
- Clean affected area and dry thoroughly
- Apply a thin layer of product over affected area twice daily (morning and night) or as directed by a doctor
- Supervise children in the use of this product
- Use daily for 2 weeks; If condition persists longer, consult a doctor
- This product is not effective on the scalp or nails
Inactive ingredients
White petrolatum, zinc oxide, corn starch, anhydrous lanolin, stearyl alcohol, beeswax, cholesterol, polysorbate 80.


You need to have a very firm paint to do this. Give him a friend, we forget the trees get lonely too. You are only limited by your imagination. Trees grow however makes them happy.
You need to have a very firm paint to do this. Give him a friend, we forget the trees get lonely too. You are only limited by your imagination. Trees grow however makes them happy.
You need to have a very firm paint to do this. Give him a friend, we forget the trees get lonely too. You are only limited by your imagination. Trees grow however makes them happy.
You need to have a very firm paint to do this. Give him a friend, we forget the trees get lonely too. You are only limited by your imagination. Trees grow however makes them happy.
You need to have a very firm paint to do this. Give him a friend, we forget the trees get lonely too. You are only limited by your imagination. Trees grow however makes them happy.
You need to have a very firm paint to do this. Give him a friend, we forget the trees get lonely too. You are only limited by your imagination. Trees grow however makes them happy.


IHO S-57 (ENC)
Driver short name
S57
Driver built-in by default
This driver is built-in by default
International Hydrographic Organisation (IHO) S-57 Electronic Navigation Charts (ENC) datasets are supported for read access.
The S-57 driver module produces features for all S-57 features in the S-57 file, and associated updates. S-57 (ENC) files normally have the extension “.000”.
S-57 feature objects are translated into features. S-57 geometry objects are automatically collected and formed into geometries on the features.
The S-57 reader depends on having two supporting files, s57objectclasses.csv, and s57attributes.csv available at runtime in order to translate features in an object class specific manner. These should be in the directory pointed to by the environment variable S57_CSV, or in the current working directory.
S-57 update files contain information on how to update a distributed S-57 base data file. The base files normally have the extension .000 while the update files have extensions like .001, .002 and so on. The S-57 reader will normally read and apply all updates files to the in memory version of the base file on the fly. The feature data provided to the application therefore includes all the updates.
Driver capabilities
Supports Georeferencing
This driver supports georeferencing
Supports VirtualIO
This driver supports virtual I/O operations (/vsimem/, etc.)
Feature Translation
Normally all features read from S-57 are assigned to a layer based on the name of the object class (OBJL) to which they belong. For instance, with an OBJL value of 2, the feature is an “Airport / airfield” and has a short name of “AIRARE” which is used as the layer name. A typical S-57 transfer will have in excess of 100 layers.
Each feature type has a predefined set of attributes as defined by the S-57 standard. For instance, the airport (AIRARE) object class can have the AIRARE, CATAIR, CONDTN, CONVIS, NOBJNM, OBJNAM, STATUS, INFORM, NINFOM, NTXTDS, PICREP, SCAMAX, SCAMIN, TXTDSC, RECDAT, RECIND, SORDAT, and SORIND attributes. These short names can be related to longer, more meaningful names using an S-57 object/attribute catalog such as the S-57 standard document itself, or the catalog files (s57attributes.csv, and s57objectclasses.csv). Such a catalog can also be used to establish all the available object classes, and their attributes.
The following are some common attributes, including generic attributes which appear on all feature, regardless of object class. is turned on.
Attribute Name Description Defined On
-------------- ----------- ----------
GRUP Group number. All features
OBJL Object label code. This number All features
indicates the object class of the
feature.
RVER Record version.
AGEN Numeric agency code, such as 50 for All features
the Canadian Hydrographic Service.
FIDN Feature identification number. All features
FIDS Feature identification subdivision. All features
INFORM Informational text. Some features
NINFOM Informational text in national Some features
language.
OBJNAM Object name Some features
NOBJNM Object name in national Some features
language.
SCAMAX Maximum scale for display Some features
SCAMIN Minimum scale for display Some features
SORDAT Source date Some features
The following are present if LNAM_REFS is enabled:
LNAM Long name. An encoding of AGEN, All features
FIDN and FIDS used to uniquely
identify this features within an
S-57 file.
LNAM_REFS List of long names of related features All Features
FFPT_RIND Relationship indicators for each of All Features
the LNAM_REFS relationships.
DSID layer
Dataset wide fields, such as DSID (Data Set Identification), DSSI
(Data Set Structure Information) and DSPM (Data Set Parameter) are exposed
in a layer DSID
which has a single feature.
See paragraph 7.3.1 “Data set general information record structure” of
IHO S-57 Edition 3.1 standard (main)
Soundings
Depth soundings are handled somewhat specially in S-57 format, in order to efficiently represent the many available data points. In S-57 one sounding feature can have many sounding points. The S-57 reader splits each of these out into its own feature type `SOUNDG’ feature with an s57_type of `s57_point3d’. All the soundings from a single feature record will have the same AGEN, FIDN, FIDS and LNAM value.
S57 Control Options
There are several control options which can be used to alter the behavior of the S-57 reader. Users can set these by appending them in the OGR_S57_OPTIONS environment variable.
They can also be specified independently as open options to the driver.
UPDATES=APPLY/IGNORE: Should update files be incorporated into the base data on the fly. Default is APPLY.
SPLIT_MULTIPOINT=ON/OFF: Should multipoint soundings be split into many single point sounding features. Multipoint geometries are not well handle by many formats, so it can be convenient to split single sounding features with many points into many single point features. Default is OFF.
ADD_SOUNDG_DEPTH=ON/OFF: Should a DEPTH attribute be added on SOUNDG features and assign the depth of the sounding. This should only be enabled with SPLIT_MULTIPOINT is also enabled. Default is OFF.
RETURN_PRIMITIVES=ON/OFF: Should all the low level geometry primitives be returned as special IsolatedNode, ConnectedNode, Edge and Face layers. Default is OFF.
PRESERVE_EMPTY_NUMBERS=ON/OFF: If enabled, numeric attributes assigned an empty string as a value will be preserved as a special numeric value. This option should not generally be needed, but may be useful when translated S-57 to S-57 losslessly. Default is OFF.
LNAM_REFS=ON/OFF: Should LNAM and LNAM_REFS fields be attached to features capturing the feature to feature relationships in the FFPT group of the S-57 file. Default is ON.
RETURN_LINKAGES=ON/OFF: Should additional attributes relating features to their underlying geometric primitives be attached. These are the values of the FSPT group, and are primarily needed when doing S-57 to S-57 translations. Default is OFF.
RECODE_BY_DSSI=ON/OFF: Should attribute values be recoded to UTF-8 from the character encoding specified in the S57 DSSI record. Default is OFF.
LIST_AS_STRING=ON/OFF: (GDAL >= 3.2) Whether attributes tagged as list in S57 dictionaries should be reported as a String field, instead of a StringList. Default is OFF. Before GDAL 3.2, the behavior was equivalent to setting this option to ON.
Example:
set OGR_S57_OPTIONS = "RETURN_PRIMITIVES=ON,RETURN_LINKAGES=ON,LNAM_REFS=ON"
S-57 Export
Preliminary S-57 export capability is intended only for specialized use, and is not properly documented at this time. Setting the following options is a minimum required to support S-57 to S-57 conversion via OGR.
set OGR_S57_OPTIONS = "RETURN_PRIMITIVES=ON,RETURN_LINKAGES=ON,LNAM_REFS=ON"
The following dataset creation options are supported to supply basic information for the S-57 data set descriptive records (DSID and DSPM, see the S-57 standard for a more detailed description):
S57_EXPP: Exchange purpose. Default is 1.
S57_INTU: Intended usage. Default is 4.
S57_EDTN: Edition number. Default is 2.
S57_UPDN: Update number. Default is 0.
S57_UADT: Update application date. Default is 20030801.
S57_ISDT: Issue date. Default is 20030801.
S57_STED: Edition number of S-57. Default is 03.1.
S57_AGEN: Producing agency. Default is 540.
S57_COMT: Comment.
S57_AALL: Lexical level used for the ATTF fields. Default is 0. (GDAL >= 2.4)
S57_NALL: Lexical level used for the NATF fields. Default is 0. (GDAL >= 2.4)
S57_NOMR: Number of meta records (objects with acronym starting with “M_”). Default is 0.
S57_NOGR: Number of geo records. Default is 0.
S57_NOLR: Number of collection records. Default is 0.
S57_NOIN: Number of isolated node records. Default is 0.
S57_NOCN: Number of connected node records. Default is 0.
S57_NOED: Number of edge records. Default is 0.
S57_HDAT: Horizontal geodetic datum. Default is 2.
S57_VDAT: Vertical datum. Default is 17.
S57_SDAT: Sounding datum. Default is 23.
S57_CSCL: Compilation scale of data (1:X). Default is 52000.
S57_COMF: Floating-point to integer multiplication factor for coordinate values. Default is 10000000. (GDAL >= 2.4)
S57_SOMF: Floating point to integer multiplication factor for 3-D (sounding) values. Default is 10. (GDAL >= 2.4)
See Also
Frank’s S-57 Page (at archive.org): Links to other resources, and sample datasets.


Sponsors
Without the help of our generous sponsors, the ROV team would be unable to compete. We are very thankful for their support.
If you are interested in supporting the team at various levels please contact Katherine Sandys.
Platinum Partner
Gold Partner
Silver Partner
Kleppinger Family
Bronze Partner


By Sharon Begley and Toni Clarke
NEW YORK, Feb 19 (Reuters) - U.S. health regulators have known since at least 2009 that the medical devices at the center of the "superbug" outbreak at UCLA can transmit lethal infections but have not recommended any new safety requirements, a lapse that threatens patient safety, experts in hospital-acquired infections said.
The latest outbreak involving the reusable devices called duodenoscopes, which are inserted down the throat, may have exposed 179 patients at UCLA's Ronald Reagan Medical Center in Los Angeles and contributed to two deaths.
It is far from the first time medical investigators traced the sometimes-fatal spread of pathogens to the devices, which are manufactured by the medical units of Japanese companies Olympus Corp, Pentax and Fujifilm Holdings Corp . UCLA uses an Olympus model.
In 2013 and 2014, the U.S. Food and Drug Administration received a total of 75 reports of adverse events associated with the devices, resulting in harm to 135 patients, the agency said. Because healthcare providers do not always submit such reports, the FDA said, that is likely an underestimate.
After outbreaks, hospitals that began sterilizing the devices more rigorously than the FDA and manufacturers recommend did so have not had any further transmissions of dangerous microbes from the devices, the hospitals said.
In light of that success, "I would be in favor of the FDA putting out more stringent rules," said Dr. John Greene, an infectious disease specialist at Moffitt Cancer Center in Tampa, Florida, where four patients developed antibiotic-resistant infections after undergoing duodenoscope procedures in 2012.
Instead, the FDA on Thursday issued a "safety communication" warning healthcare providers that duodenoscopes' "complex design" may impede effective sterilization.
For the first time, the FDA said that even when hospitals adhered to the manufacturers' instructions for sterilization, patients have contracted multidrug-resistant bacterial infections from the devices. The agency did not, however, require more stringent safety procedures.
"The FDA punted," said Lawrence Muscarella, a healthcare consultant in Pennsylvania and author of a 2014 paper on superbug transmission via duodenoscopes.
FDA spokeswoman Leslie Wooldridge said the agency is continuing to determine what more can be done to reduce duodenoscope-related outbreaks and is also exploring "additional potential strategies to reduce the risk of infections."
MULTIPLE OUTBREAKS
Duodenoscopes, flexible tubes outfitted with tiny lights and advanced cameras, are used to diagnose or treat disorders of the gastrointestinal tract in about 500,000 procedures a year in the United States alone.
In 2009, soon after 16 patients in France were infected with a pathogen after undergoing the procedure, the FDA issued its first notice about the devices, warning the medical community they could transmit dangerous germs from one patient to another.
In 2013, physicians led by the Moffitt Center's Greene reported that endoscopes had transmitted an antibiotic-resistant pathogen to patients at two Tampa hospitals. That year also saw an outbreak from duodenoscopes at Advocate Lutheran General Hospital near Chicago, where 44 patients were infected with virulent, antibiotic-resistant bacteria called CRE, the strain in the UCLA outbreak.
The University of Pittsburgh Medical Center had a duodenoscope-related outbreak in 2012. Last month, Virginia Mason Medical Center in Seattle said a bacteria spread through contaminated scopes had infected 32 people over two years; 11 died.
Infectious disease experts in academia and government who have investigated ways to prevent outbreaks have identified three options, including sterilizing the devices with ethylene oxide gas after each use.
The Pittsburgh medical center "determined that the normal process" of disinfecting recommended by the manufacturer "failed to eliminate all bacteria," said spokeswoman Allison Hydzik. The hospital switched to ethylene-oxide sterilization.
Alternatively, hospitals could swab duodenoscopes after each use to collect any lurking pathogens and quarantine the devices until it is clear they are sterile. Virginia Mason took this approach.
Neither Virginia Mason nor Pittsburgh has had another case of duodenoscope-transmitted superbug infection.
But such steps are expensive.
Duodenoscopes cost about $40,000 and as much as $80,000, and when they are taken out of service for gassing or quarantining a hospital may need to spend an additional $1 million to have enough available, said Muscarella.
A third option would be for the FDA to require manufacturers to redesign the devices. The agency and researchers agree that the most problematic part is a movable "elevator" mechanism at the tip of the duodenoscope: Its moving parts have microscopic crevices where bodily fluids can lurk after standard cleaning.
Fujifilm spokeswoman Diane Rainey said the company is reviewing the FDA safety alert and is "working in cooperation with the FDA to evaluate and respond to concerns" about disease transmission.
Olympus spokesman Mark Miller said the company is "aware of reports of patient infections following procedures involving duodenoscopes," and is "monitoring this issue closely."
Pentax did not immediately respond to questions. (Reporting by Sharon Begley in New York and Toni Clarke in Washington; Editing by Eric Effron and Cynthia Osterman)


Toggle navigation
intentions
team
contact
facebook
twitter
Feel free to get in touch with us. Stop by for a good cup of coffee.
4th floor, B-2, New No. - B-2-III, Vishnu Garden, Near Subhash Nagar, New Delhi - 110018
+91-11-25982035
+91-88 77 66 11 22
connect@menias.com


SpriteKit SKPhysicsBody Path Generator automatically create paths for your SpriteKit physics bodies with this free online tool.
Instructions: Drag and drop an image into the box below or click on the box to select an image from your computer. Adjust the settings as required, then click on the Recalculate button to see the effect of your changes.
Image:
Output:
Total Points:0
Note - using a higher number of raycasters will produce a more precise rendition of the image's shape.
Note - higher tolerance values will result in potentially fewer points, but also a less accurate polygon path.
(N.B. SpriteKit SKPhysicsBody paths must be convex)


--- layout: post status: publish published: true title: Filtering Child Activities on a Composite Activity author: display_name: Tomas Restrepo login: tomasr email<EMAIL_ADDRESS>url: http://winterdom.com/ author_login: tomasr author_email<EMAIL_ADDRESS>author_url: http://winterdom.com/ wordpress_id: 1042 wordpress_url: http://winterdom.com/2006/09/filteringchildactivitiesonacompositeactivity date: '2006-09-10 11:04:51 +0000' date_gmt: '2006-09-10 11:04:51 +0000' categories: - WinFX - Workflow tags: [] comments: [] ---
If you're creating a custom composite activity, you might need to restrict whether a given activity can be inserted as a child at a specific point of your composite activity when working on the Workflow Designer. Fortunately, this is actually fairly easy using the designer facilities in Windows Workflow Foundation.
Let's quickly sample this by building a custom CodeFirstSequentialActivity, which is a simple sequential composite activity that requires that the first child activity in the sequence is a CodeActivity. Other than that, any other type of activity can be a child.
First, we'll create a custom designer class for our activity, which we'll inherit from the SequenceDesigner class. In it, we'll override the CanInsertActivities method, in which we'll do a simple test: If the insertion point is the first one on our composite activities, then we'll check that the first activity being dropped/inserted is indeed a CodeFirstActivity, and, if so, just return false to block the designer from inserting the child activities:
public class CodeFirstSequentialActivityDesigner : SequenceDesigner
{
public override bool CanInsertActivities(HitTestInfo insertLocation,
System.Collections.ObjectModel.ReadOnlyCollection activitiesToInsert)
{
bool canDo = base.CanInsertActivities(insertLocation, activitiesToInsert);
CompositeActivity theActivity = Activity as CompositeActivity;
if ( theActivity != null )
{
// first activity in can only be a CodeActivity
if ( insertLocation.MapToIndex() == 0 )
{
if ( !(activitiesToInsert[0] is CodeActivity) )
{
return false;
}
}
}
return canDo;
}
}
Then, it's just a matter of associating our custom designer with our activity:
[Designer(typeof(CodeFirstSequentialActivityDesigner))]
class CodeFirstSequentialActivity : CompositeActivity
{
// ...
}
A nice thing about this is that this will block Drag & Drop operations as well as custom trying to copy/paste activities into our custom composite activities, without having to handle both operations as different things.
One thing to watch out, though, is that this only takes care of the designer. You'll also want to create a custom activity validator that validates that child activities are of the right type.