To upgrade to tiscamera 1.0 you have to be aware of the following changes:
Some cameras are no longer supported.
The most important being all 23 cameras.
For a complete overview see supported devices <https://www.theimagingsource.com/documentation/tiscamera/supported_devices.html>
.
tiscamera-1.0 uses a more up to date version of aravis. This aravis version requires meson >= 0.53. for compilation.
Ubuntu LTS 18.04 is not capable of compiling this out of the box.
You can set the cmake option TCAM_DOWNLOAD_MESON
to ON
to have tiscamera handle this case for you.
All build flags now have the prefix TCAM_
.
The configuration flags TCAM_BUILD_ARAVIS
and TCAM_BUILD_DOCUMENTATION
now have the default ON
.
Device discovery is no longer part of tcamprop. Instead the GstDevice functionality is used.
For sample code on how to implement this feature look at the examples folder.
The property use-dutils
has been replaced by the enum conversion-element
.
To explicitly use tcamdutils set conversion-element
to tcamdutils
.
Default is auto
.
The property state
has been renamed to tcam-properties-json
.
It requires the element to be at least in the GST_STATE_READY
state. This is to ensure that a device has been opened.
It can only be set on the tcambin.
tcamwhitebalance, tcamautofocus, tcamautoexposure have been removed. The functionality is now part of tcammainsrc/tcampimipisrc/tcamtegrasrc.
Application of whitebalance is done via tcamconvert, tcamdutils or tcamdutils-cuda.
tcamsrc has to be in GST_STATE_READY
for a device to be opened.
All properties name/types are now genicam compliant. That means all camera models/types have identical property names and identical property types.
All property names are now CamelCase.
For a human readable name call tcam_property_base_get_display_name()
;
Property Flags are now actively used to communicate information to the user.
If you would like a complete overview over our flags, please take a look at our documentation: https://www.theimagingsource.com/documentation/tiscamera/api.html
- Locked Locked properties will refuse any set_value call as another property has control over it. This is typically the case for auto properties, e.g. ExposureAuto locks ExposureTime. To manually set ExposureTime you will have to set ExposureAuto to 'Off'.
The most important property changes are:
The property will always have the name "ExposureTime". It will always be a float. Its unit will always be µs.
The property will always have the name "Gain". It will always be a float. Its unit will always be dB.
It will always be an enum.
OverrideScanningMode is now correctly implemented.
Binning, Skipping and Override Scanning Mode are not available as properties to the user. They are part of the caps description. See GstCaps in this document.
Abstracted to BalanceWhiteRed
, BalanceWhiteGreen
and BalanceWhiteBlue
.
These values are always float. The will always have a value range of 0.0 - 0.4. To get the range 0 - 265 mulptily value with 64.
tcamprop has been renamed to tcam-property. The API version has changed to 1.0.
All tcamprop functions now have an GError argument. This allows for better error handling.
All properties are now represented as objects.
Please look at the corresponding examples on how to use them.
For a complete overview of the API, see https://www.theimagingsource.com/documentation/tiscamera/api.html .
For sample implementations, see https://www.theimagingsource.com/documentation/tiscamera/examples.html .
GstCaps have been expanded with the following fields:
GstCaps can now contain the value 'binning'. If you have not yet used binning this does not affect you.
See documentation <https://www.theimagingsource.com/documentation/tiscamera/gstreamer.html#how-to-read-caps>
for further details.
GstCaps can now contain the value skipping'. If you have not yet used skipping this does not affect you.
See documentation <https://www.theimagingsource.com/documentation/tiscamera/gstreamer.html#how-to-read-caps>
for further details.
The version output now also includes a module string identifying the modules tiscamera has been configured/compiled with.
Output has changed to include additional information and to increase readability. Contains new fields to accommodate tcamprop rewrite.
tcam-capture has been rewritten in C++.
Removed. Write own script or use tis-measure as a replacement.
tis-measure can be found in our download section <https://www.theimagingsource.com/support/downloads-for-linux/end-user-software/icmeasureappimage/>
.
Removed. Use tcam-gigetool.
Moved to own repository. See https://github.com/TheImagingSource/tcam-firmware-update
Removed. Set GST_DEBUG=tcam-libtcam:X to get the output.
Removed. Set environment variable TCAM_ARV_STREAM_OPTIONS
to packet-request-ratio=<float>