1.3. NITWidySWIR
Summary: |
Plugin for cameras from NEW IMAGING TECHNOLOGIES (NIT). |
Type: |
DataIO |
License: |
LPGL |
Platforms: |
Windows only |
Devices: |
Cameras from company NIT (tested with USB2 WidySWIR 640U-S) |
Author: |
J. Krauter, ITO, University Stuttgart |
1.3.1. Overview
- This dataIO grabber plugin runs with the NITLIBRARY API from the company NEW IMAGING TECHNOLOGIES (NIT).
This plugin has been tested using the Widy SWIR 640U-S camera in USB2 version and the SDK version 1.5. In this itom plugin a bad pixel correction is not implemented, because for optical measurement applications it is not necessary.
- WARNING: Some parameters do no work with the current tested camera!
NITLibrary defines the parameter “offset, gain, histogram threshold, pixel clock” as changable, but with the current version is does not! The parameter pixel_clock is set to Readonly, because the camera acquisition crash. This problem should be tested with the next NITLibrary version.
1.3.2. Initialization
The following parameters are mandatory or optional for initializing an instance of this plugin:
- printManual: int, optional
If printManual is set to 1, the parameters of the camera are printed into the itom shelf.
Value range: [0, 1], Default: 0
- printParameterValues: int, optional
If printParameterValues is set to 1, all available values of the parameters are printed into the itom shelf.
Value range: [0, 1], Default: 0
- deviceNumber: int, optional
Number of the device, which you want to connect.
Value range: [0, 99], Default: -1
1.3.3. Parameters
- bpp: {int}
Bits per pixel bpp (8,14).
- enablePixelCorrection: {int}
enables pixel correction by using NIT NUC files. By changing the integration_time the NUC file is changed, too.
- firmware_version: {float}, read-only
Firmware version of connectecd device.
- framerate: {int}
Framerate of image acquisition (0..1000) in [fps].
- gain: {float}
Gain of camera (0..7.5) in [no unit].
- histogram_threshold: {float}
Histogram threshold of image acquisition (0.025, 0.1, 0.4, 1.6) in [%].
- integration_time: {float}
Integrationtime of connected device (0.1..25.6) in [s].
- model_id: {str}, read-only
Model ID of connected device.
- name: {str}, read-only
Name of plugin.
- nucFilePath: {str}
Path of the NUC pixel correction files.
- offset: {float}
Offset of image acquisition (0..100) in [%].
- pixel_clock: {float}, read-only
Pixel clock of device (12.5, 16.66, 20, 25, 33.33, 40, 50, 66.66, 80) in [MHz].
- roi: {int rect [x0,y0,width,height]}, read-only
Region of Interest ROI [x0, y0, width, height].
- serial_number: {int}, read-only
Serial number of connected device.
- shutter_mode: {str}
Shutter Mode of connected device (Global Shutter, Rolling).
- sizex: {int}, read-only
Width of ROI (x-direction).
- sizey: {int}, read-only
Height of ROI (y-direction).
- trigger_mode: {str}
Trigger Mode of connected device (Disabled, Input, Output). Use Disabled for software trigger.
1.3.4. Image Acquisition
With this camera an image is acquired by the standard itom image acquisition syntax:
cam = dataIO("NITWidySWIR") # get instance of plugin cam.startDevice() # start device obj = dataObject() # define dataObject cam.acquire() # acquire an image cam.getVal(obj) # collect the image in a dataObject
The camera can be initialized with two optional parameters (printManual, printParameterValues).
cam = dataIO("NITWidySWIR", printManual = 1, printParameterValues = 1)
printParameterValues print all values of the parameters in the itom shelf. printManual prints the Manual, given by the camera link in the following:
Manual: ——————ConnectorModelFirmware VersionSerial Number————————–First Column :Number of Column :First Line :Number of Line :Pixel Depth :Trigger Mode :Mode :Pixel Clock :Gain :Offset :Exposure Time :Histogram Threshold : USB 2.0NSC12018.024a8c{ 0, 4, … , 628, 632 }{ 8, 16, … , 632, 640 }{ 0, 4, … , 500, 504 }{ 8, 16, … , 504, 512 }{ 8bits, 14bits }{ Output, Input, Disabled }{ Rolling, Global Shutter }{ 12.5MHz, 16.66MHz, … , 66.66MHz, 80MHz }{ AGC, 0.25, … , 7.50, 7.75 }{ 0.00% full scale, 0.39% full scale, … , 99.06% full scale, 99.45% full scale }{ 100 µs, 200 µs, … , 25500 µs, 25600 µs }{ 1.6%, 0.4%, 0.1%, 0.025% }
1.3.5. Installation
Windows:
The USB2 NITWidySWIR driver is installed automatically by Windows after the first connection.
1.3.6. Compilation
In order to compile the NITWidySWIR plugin, get the SDK C++, which will be deliverd together with the camera on a USB stick or contact the company (http://www.new-imaging-technologies.com). Then set the CMake variable NITLIBRARY_INCLUDE_DIR to the directory: …\SDK C++\NITLIBRARY 1.5\include++. CMake will find all necessary files.
1.3.7. Changelog
itom setup 2.2.1: This plugin has been compiled using the NITLibrary 1.5
itom setup 3.0.0: This plugin has been compiled using the NITLibrary 1.5
itom setup 3.1.0: This plugin has been compiled using the NITLibrary 1.5
itom setup 3.2.1: This plugin has been compiled using the NITLibrary 1.5
itom setup 4.0.0: This plugin has been compiled using the NITLibrary 1.5
itom setup 4.1.0: This plugin has been compiled using the NITLibrary 1.5