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: ——————
Connector
Model
Firmware Version
Serial 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.0
NSC1201
8.0
24a8c

{ 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