Frequently Asked Questions and Troubleshooting

General

Running StreamPix/Hermes API/TroublePix under Windows 64 bit.
Considerations:
1. It's possible to run the 32 bit version of StreamPix/Hermes API/TroublePix under a 64 bit OS.
2. Both 32 and 64 bit versions of StreamPix/Hermes API/TroublePix can be installed and run on a 64 bit Windows.
3. When StreamPix/Hermes API/TroublePix needs to connect to a camera or frame grabber for acquiring images, more considerations have to be taken into account:
3a. When running StreamPix/Hermes API/TroublePix 32 bit edition, you have to make sure that the 32 bit driver for the specific camera or frame grabber is installed and able to run in 32 bit mode under a 64 bit OS. Not all camera / frame grabber drivers support this mode. Typically, running the 32 bit application provided with the camera will help you figure that out. If the application cannot connect and capture from the camera, StreamPix/Hermes API/TroublePix will not work either.
3b. When running StreamPix/Hermes API/TroublePix 32 bit edition, if the 64 bit version of the camera driver is installed, StreamPix/Hermes API/TroublePix 32 bit edition will not recognize the camera. Rather use StreamPix/Hermes API/TroublePix 64 bit edition in this case.
3c. Typically, you cannot have both 32 bit and 64 bit camera / frame grabber drivers installed simultaneously.
4. Both Version of StreamPix/Hermes API/ TroublePix 32 bit and 64 bit can be installed in a 64 bit OS, since files are in separate folders.
How to install the USB key license?
I. First identify your key: Sentinel SuperPro or Sentinel HASP Max Micro.

a. For the Sentinel SuperPro key, follow these steps:
  • Remove the USB key if plugged in.
  • Install the Sentinel SuperPro driver from here.
  • When installing, select Custom mode instead of Complete.
  • Make sure only the USB System Driver is selected as shown here.
  • When finished, plug in the USB key and wait until the system recognizes it (it should be displayed in Control Panel -> Device Manager).
If the were problems during the installation, because of any conflicts with previous versions of the Sentinel SuperPro driver:
  • Remove the USB key if plugged in.
  • Use the SSD Cleanup application to remove any existing Sentinel driver. SSD Cleanup can be found here.
  • After SSD Cleanup completes, restart your computer.
  • Repeat the steps above as for a fresh installation.
Note: Make sure that no other Sentinel SuperPro key is connected to the computer.

b. For the Sentinel HASP MaxMicro key, follow these steps:
  • Install the Sentinel HASP MaxMicro driver from here.
  • When finished, plug in the USB key and wait until the system recognizes it (it should be displayed in Control Panel -> Device Manager).
II. Loading the authorization codes from the NPX file.
  • Locate the the "SysInfo" application in the Start menu > NorPix and launch it.
  • Click on [Browse for authorization codes file...].
  • Select the file received and click on [Open].
  • Make sure the NPX file received matches the number on the USB key.
  • Agree to the warning about writing to the registry.
  • SysInfo should then state that the codes were successfully written to the registry.
  • The "Search for network key on IP address" should only be selected if you purchased the multiple license network key, which allows connecting several computers in the same time to the USB license key. It should be left unchecked if your license is only for one computer at a time, which is the case for most licenses.
Your application is now ready to use.
Note: If you have only a single camera license, make sure you are using StreamPix Single Camera.
The camera/frame grabber is not in the Grabber Selection list.
Cause 1 : The driver for your camera/frame grabber is not installed on the computer or is not a version compatible with StreamPix/TroublePix . Click here for the driver compatibility list for our latest releases. Or consult the "changes.txt" file, located in C:\Program Files\Common Files\Norpix, to find out which camera driver versions are supported with your current version of the software.

Cause 2 : StreamPix/TroublePix was installed before the camera/frame grabber driver and libraries were installed on the computer. Because of DLL dependencies, the driver must be there before StreamPix/TroublePix is installed. Simply use the Register Manager application to register the device. If you are not sure what is the name of the file that needs to be registered, simply try to register all the devices. If this doesn't fix the problem, re-installing StreamPix/TroublePix may help.

Cause 3 (only Prosilica Firewire): There is a problem with one of the SDK dependencies for the Prosilica firewire. On some computers, it freezes the installation when trying to register it. So, for the moment, our Prosilica firewire is not registered by default. Please use the Register Manager (NpxRegMan.exe) to register it after the installation. The name of the file to be registered is NpxProsilica.

Cause 4 : There could be some incompatibilities between older and newer NorPix files or between NorPix products. A clean installation should fix this.
The camera/frame grabber won't start.
Cause 1 : The camera/frame grabber is not correctly configured. Test the camera/frame grabber with its own software before trying in StreamPix/TroublePix . If it doesn't work with its software, it won't work with our product either.

Cause 2 : The version of the camera/frame grabber driver is not compatible with your current version of StreamPix/TroublePix . Consult the "changes.txt" file, located in C:\Program Files\Common Files\Norpix, to find out which camera driver versions are supported. Also, you can see here the driver compatibility list for our latest releases.

Cause 3 : There could be some incompatibilities between older and newer NorPix files or between NorPix products. A clean installation should fix this.
How do I do a clean installation of one of the NorPix products?
Here are the steps to follow:
  • 1- Uninstall StreamPix/Troublepix/Hermes API from the add remove applet in control panel.
  • 2- Search also for the other packages, NorPix Shared Files and Norpix Codec. Make sure to remove these too, if they exist.
  • 3- Using Windows Explorer, browse to c:\program files\NorPix and remove all files that may still be there.
  • 4- Using Windows Explorer, browse to c:\program files\Common Files and remove the NorPix folder and sub-folders.
  • 5- Using Windows Explorer, browse to c:\program files(x86)\NorPix and remove all files that may still be there (only if you installed a 32 bit version of a NorPix product on a 64 bit OS).
  • 6- Using Windows Explorer, browse to c:\program files(x86)\Common Files and remove the NorPix folder and sub-folders (only if you installed a 32 bit version of a NorPix product on a 64 bit OS).
  • 7- Install the new version of the software.
How is the GPS data saved in StreamPix?
The GPS Positioning module can be used to view the GPS data, to overlay it on the image or to burn it into the image. Also, it allows saving the selected GPS data to a text file (comma separated values), when recording. This is detailed in the StreamPix manual, under the GPS Positioning module section.
Also, StreamPix has the option to save the GPS information as metadata, along with the sequence file. The metadata recording can be enabled from StreamPix settings->Metadata page->Save metadata option.
There is also a module called Metadata Display, that can be loaded to see the current metadata. The GPS metadata can be overlaid on the image in live mode, when recording or even burnt on export. This is detailed in the StreamPix user manual, under the Metadata Overlay module.
If loop recording with metadata is needed, there is one more thing that has to be done: set the metadata constant size to a certain value, not zero. This is detailed in the StreamPix user manual, under the Metadata Spy module.
Furthermore, when exporting to JPEG, using a sequence file that was recorded with GPS metadata, the GPS info can be burnt into the image EXIF properties.
Where can I find these applications: Sequence Editor, Register Manager, NorPix Logger, Disk Bench?
All these applications are included in the Shared Files that come with any StreamPix/TroublePix/Hermes API setup. Here are some ways to access them:
Directly from Windows Explorer:
  • C:\Program Files\Common Files\NorPix\NpxRegMan.exe
  • C:\Program Files\Common Files\NorPix\NpxDebug.exe
  • C:\Program Files\Common Files\NorPix\DiskBench.exe
  • C:\Program Files\Common Files\NorPix\SequenceEditor.exe

or through the Start menu:
  • Start menu | All Programs | NorPix | Tools | Register Manager
  • Start menu | All Programs | NorPix | Tools | NorPix Logger
  • Start menu | All Programs | NorPix | Tools | Disk Bench
  • Start menu | All Programs | NorPix | Tools | Sequence Header Editor
The camera/frame grabber is not working anymore.
You can reset StreamPix/TroublePix to factory defaults. To do that, first select the virtual grabber from the hardware menu. Go to the StreamPix Settings -> Session page or TroublePix Settings-> Advanced Settings page and press "Reset all grabbers settings...". Then, quit and restart StreamPix/TroublePix. It's better to unplug the camera too, to reset it to its default settings.
Where can I find the user manual?
The manual for StreamPix or TroublePix can be accessed from Help | User manual.
The documentation for Hermes API can be found under Start menu | All Programs | NorPix | Hermes | Hermes Documentation or using the Windows Explorer, in C:\Program Files\Common Files\NorPix\Hermes\docs\Hermes.pdf .
All our products have also a Camera installation manual that gives details about the supported devices and their features. It can be found under Start menu | All Programs | NorPix | Tools | Camera installation manual or using the Windows Explorer, in C:\Program Files\Common Files\NorPix\help\Grabbers.pdf .
Note: Adobe Reader or any other PDF viewer needs to be installed to open the manuals.
How can I import the sequence files in Matlab?
The sequence files can be imported in Matlab using a macro file. MathWorks engineers helped us develop a demo macro for uncompressed sequence files of 640 x 480 pixels, 8 or 16 bits. Based on this demo, other macros can be created, for different image sizes and formats. More details about the NorPix sequence format can be found in the StreamPix Help menu, under the Sequence File Format manual.
In case of compressed sequences, the images don't have a constant size inside the sequence, so it's very difficult to write a macro to read them properly in Matlab.
Disclaimer: The macro file is provided as is. NorPix does not guarantee that this macro is suitable for all usage. It is the user responsability to test the code and eventually adapt it to his needs.
Entry point not found - dll error
The procedure entry point X could not be located in the dynamic link library DLLFile.

Our products are linked with some third party dlls. Usually these are low level libraries that are needed for software performance optimization. DLLFile can be any of these third party dll files.

These 3rd party libraries are installed with our products and they can be found in the Norpix common folder. Depending on the version of Windows (32/64 bit) and the version of our products (32/64 bit) this common folder can be one of the following:
  • C:\Program Files\Common Files\Norpix
  • C:\Program Files(x86)\Common Files\Norpix
It's possible that another application (let's call it AppX) installs another version of the DLLFile. If the AppX installer did not comply with Microsoft recommended best practice for software deployment, the file was probably installed in the c:\Windows\System32 folder. This prevents our products from loading the right DLLFile from the Norpix common folder.

To fix this you can do a search on your computer for the DLLFile. Rename the other DLLFile(s) (there may be more than one) that you find besides the one located in the Norpix common folder.

Note: After renaming the other DLLFile(s), most probably AppX will not work properly, reporting the same kind of error message on startup.
Possible work around:
  • You might need to rename the file back before running the AppX. This would mean that you cannot run both our products and AppX in the same time.
  • You might want to move the DLLFile from C:\Windows\System32 to the AppX folder where the launched exe file is located.
How can I process multiple sequences?
There is a stand alone application called Batch Processor that has its own setup and requires a separate license.
Corrupt sequence (computer crashed when recording).
The sequence header wasn't saved properly. In this case you can open this sequence with the Sequence Header Editor that comes with StreamPix/TroublePix . Open also a reference sequence, that has the same image size, bit depth and format as the corrupt one. Copy the parameters from the reference sequence to the target sequence and then press Save Target.
StreamPix freezes when launched.
This might happen with frame grabbers if the current configuration file doesn't work with the current camera. To fix this, activate the "Scroll Lock" function of your keyboard. Start StreamPix . StreamPix won't connect to the camera while Scroll Lock is on. Open "File | Hardware Settings" and go to the configuration file tab. Replace the current file by the one made for your camera. Click "OK". Disable "Scroll Lock" and click the "Live" button to connect the camera using the new file.
On the sequence bar, I can go past the last image (ex : 51/50).
You can always advance one image past the end. The current frame number tells what will be the ID of the next image to be captured. So when you create a new sequence, you are at position 1/0 meaning that the sequence currently contains no images and that the next image to be captured will be labeled "1". Pressing record or snap will always capture at the current image position. So if you want to append more images to an existing sequence (containing 123 frames), you would place the cursor at image 124/123 (so you aren't overwriting existing images).
Sending a Crash Report.
There are a lot of factors that can make StreamPix/TroublePix unstable. In most cases, hardware or driver compatibility issues may crash the application. In case of a crash, a report is built containing general information about the operating system version, processor type and loaded modules. To help us identify the cause and fix the error, send the crash report to our Technical Support department for further analysis and investigations.
To send us a crash report, please follow the procedure below:
  • 1. When the crash dialog shows up, fill in the form and click Save & Send ( see picture ). The crash report will be automatically saved in
    %AppData%\Norpix\CrashReports and then sent to .
    Note: please provide a valid email address.
  • 2. If your computer is not connected to the Internet, you'll have to send us the report manually to including a short description of what you were doing when the application crashed.
What is the hardware trigger mode and how to set it up ?
Hardware triggering means that each image exposure is triggered using a TTL trigger pulse. The trigger pulse can be used in 2 ways, both having the same performance:
  • trigger the camera directly, if the camera includes a trigger input line
  • trigger the frame grabber, which will trigger the camera
If you need to synchronize multiple cameras, to acquire and expose at the exact same time, they will need to be set up in hardware trigger mode. This will guarantee that each camera will receive the start exposure signal at the same time. Hardware triggering is usually achieved using an external pulse generator. The pulse signal is split and sent to each camera.
    To set up the hardware trigger mode on the hardware side:
  • Connect the external trigger source to the camera/frame grabber trigger input pin, using a cable or a wire
  • Make sure the physical trigger input pin matches the Trigger Input selected in the software(consult the camera/frame grabber manual)
  • Make sure the external trigger source is running at a frame rate supported by the camera/frame grabber
    To set up the hardware trigger mode on the software side:
  • Open the camera/frame grabber Hardware Properties->Settings page
  • Look for the Trigger Mode setting and enable it
  • Depending on the camera/frame grabber, you might also need to specify the Trigger Input/Source
  • Make sure the Trigger Input/Source matches the physical trigger input pin that receives the external trigger pulse (consult the camera/frame grabber manual)
  • For frame grabbers, you might need to use a different configuration file, which is specifically designed for trigger mode
If the camera/frame grabber is properly set up in trigger mode, its frame rate should match the frequency of the external pulse generator. Any change in the external trigger source frequency should reflect in the camera/frame grabber frame rate. Also, if the external pulse generator is stopped, the camera/frame grabber should display no image.

Some frame grabbers (BitFlow, Solios, Radient, ImperX, Xcelera) have support for an internal pulse generator, which can be used to trigger one or more cameras. In this case, no external trigger device is needed. Check with NorPix for more details on this configuration.
Note: The hardware trigger doesn't trigger events in the software, like the start and stop of the recording (for this see the software trigger).
What is the software trigger and how to set it up ?
The software or computer trigger gives the opportunity to control some events like the start and stop of a recording.
The software monitors the state of various TTL input lines and, if a certain condition is met, it triggers the corresponding event.
For example, if the computer trigger is used to start and stop the recording, the camera will send images continuously to the computer, but the software will only record those images received between the start and stop recording conditions. These conditions are managed directly by the software. The response time depends on the performance of the monitored input devices and it's usually between 1 and 5 ms. When using this method with multiple cameras, they will start recording at almost the same time, and there could be a difference of plus or minus 1 frame in the number of recorded images. As the cameras are free running, this cannot guarantee that all cameras capture at the exact same time.

The software trigger can be set up in 2 ways: To set up the software trigger on the hardware side:
  • When using one of the compatible I/O external devices, make sure the device is connected to the computer and properly installed.
  • If you are using the camera/frame grabber TTL input lines, you will also need an external device (any device) that can change the state of the TTL input line (usually a switch between 0 and 5V). This has to be physically connected to the TTL input pin of the camera/frame grabber (with a cable or a wire).
  • Make sure the physical TTL input pin matches the event input line that is monitored in the software
To set up the software trigger on the software side:
  • Enable the input control and set up the event (check the software manual on this)
  • Make sure the event input line matches the physical TTL input
  • Make sure the camera/frame grabber is in free run, which means that the trigger mode is disabled (there are special cases when the camera/frame grabber can be set in trigger mode on a separate trigger input line)

Note: The software trigger doesn't trigger the exposure for each image sent by the camera/frame grabber (for this see the hardware trigger).
How can I remotely control StreamPix ?
There are 3 ways to remote control StreamPix:
  • Easy: Use standard windows message, to post commands to StreamPix. A limited number of commands are available. More can eventually be added on demand.
    • STREAMPIX_MESSAGE_START_RECORDING
    • STREAMPIX_MESSAGE_STOP_RECORDING
    • STREAMPIX_MESSAGE_SNAP_FRAME
    • STREAMPIX_MESSAGE_SAVE_AND_CLOSE
    See more details in the documentation, section related to SendRm.exe.
  • Medium: Use the UDP trigger Module to communicate with StreamPix via a UDP Ethernet message. More commands can eventually be added on demand. Available commands are:
    • "Pre/Post"
    • "Start Record"
    • "Stop Record"
    • "Start Playback"
    • "Stop Playback"
    • "Mark Frame"
    • "Test"
    See more details in the documentation, section related Free Modules, UDP Trigger Module. Source code of a UDP sender application is provided.
  • Advanced: Use StreamPix Remote C/C++ API. That API will allows to implement advance communication with StreamPix. Images can be retrieve for live preview, and all the features available via StreamPix Remote application can be implemented using that API. StreamPix Remote API documentation can be downloaded via requesting the HERMES API documentation.

Performance

Buffer usage fluctuates a lot or is 100%, indicating a possible frame drop. How many buffers should I set?
A "buffer" represents the amount of memory holding a frame. At some point, a buffer may contain one captured frame from the camera or may be empty (no data). More buffers allocated will bring more stability, but less available memory.
Each buffer size on bytes can be calculated by FrameWidth in pixel * FrameHeight in pixel * number of bytes per pixel. Color image are typically 24 bit or 3 bytes. A 10 bit sensor will be rounded to 16 bits or 2 bytes. Raw bayer ar typically 8 bit like monochrome images.
Example: the buffer size for a color VGA image is 640 * 480 * 24 / 8 = 921,600 bytes.

Frame size information

The buffer count depends on system performance. NorPix usually recommend to set the buffer size to a number equivalent to the current camera image rate per second. This means about 1 second of buffering. This is a suggested value, and may required tune up depending on your configuration.
How can I make sure I have sufficient bandwidth performance to stream my data ?
Run the disk benchmarking tool from the StreamPix help menu. This will evaluate the maximum theoretical bandwidth you should obtain.
Two tests should be done:
- Run the bench utility while receiving live images from the camera
- Run the bench utility while not receiving live images from the camera
Monitor the CPU usage (CTRL+SHIFT+ESC, and select performance tab) for both cases. CPU usage higher than 85% may result in frame drop while streaming.
Using the bench number, it is possible to evaluate the kind of performance that will be obtained while streaming for real.
Note that disk performance degrades significantly with disk capacity usage. When more than 50% of the disk is used, performance degrades about 25%. At 80% capacity, performance degrades 50%.
Finally, if the data is recorded on the operating system disk, performance will degrade significantly more. By adding more disks and stripping them together using Windows XP streaming capabilities, you should regain some bandwidth.
If you still get some frame drops, you can also temporarily disable the image display while recording. Hence, you'll be sure no computer resources will be allocated to the image display. To disable the display, uncheck the "Enabled" entry in the display menu.
After all my efforts to get optimum performance, StreamPix still can't follow the camera frame.
Try to reduce the area of interest and/or image bit depth if possible. Significant gain can be obtained if you reduce the image size to be streamed. To reduce the image size, open the hardware settings property page, and reduce the image size in x and y. You can also change the origin (top left corner) of the grab area, hence defining a smaller window within the total CCD image area.
Could disk fragmentation be an issue ?
Yes, disk fragmentation is a significant issue. Ideally, we recommend that you use a dedicated hard disk to stream the data. That disk should be different from the disk where the operating system has been installed. Consider clearing or reformatting (quick format is enough) the stream disk on a regular basis.

Display

The sequence toolbar says it is running at X frame rate but StreamPix doesn't seem to display at X frames/second.
StreamPix updates the image display on "idle". That means that the image gets updated when StreamPix has nothing else to do. StreamPix does this in order to give priority to the streaming on disk. If the sequence toolbar shows that you are capturing at 29 frames/second, that means that StreamPix is currently able to grab and save 29 frames/second. So even if the display is updated only 5 to 10 times per second (or not at all), you are still saving frames at the rate indicated in the toolbar.

Exporting

Crash when exporting (recording) to AVI using the Xvid codec.
There are 2 solutions:
    1. Using the Xvid codec:
  • Open the Xvid "Codec Settings" window.
  • Press the "Other Options" button.
  • Uncheck the "Display encoding status" option.
    2. Using the ffdshow codec:
  • Open ffdshow "Codec Settings" window.
  • Select "Xvid" from the Encoder list.
My exported AVI file seems to skip frames during playback.
If you exported the AVI from an existing sequence, then the AVI has all the information contained in the sequence. The problem is often file fragmentation which will cause jerky playback. To reduce file fragmentation, try to make a copy of the file or defragment the hard disk.
My AVI playback is a little bit slower than the actual recording.
AVI file format does not support non-integral frame rates. That means that even if your sequence was captured a 25.67 frames/second, the AVI will only playback at 25 frames/second.
I have exported to an AVI, but the resulting file size is 0.
Most common cause : the desired AVI encoding format doesn't support the current image resolution. Each codec has its own requirements, for example, most codecs will refuse to encode with odd length image resolution (ex: 639x479 is refused, but 640x480 works). Thus, if you need to work with a non-standard image size, you will need to do some trial-and-error to find the codec which best suits your needs. You can either select the "uncompressed AVI" option, which will work with anything, or you can use the more flexible NorPix Codecs.
I cannot export to MOV or record image directly to a MOV file.
You must install QuickTime on your computer in order to access MOV functionalities. Furthermore, on a 64 bit OS, since QuickTime is 32 bit only, you also must install and run StreamPix 32 bit on order to access MOV functionalities. There is no problem installing both 32 and 64 bit versions of StreamPix on the same machine. Simply use StreamPix 64 for all your work, and StreamPix 32 bit only for exporting captured sequences to MOV.

Notes:

1. Before using StreamPix/TroublePix , make sure the camera/frame grabber works with its own driver.
2. If you have 2 of our products installed on the same computer, make sure their versions are compatible. Each product comes with a history file called changes.txt. If the release dates are the same, it means the products are compatible.

If you have a question that isn't listed above, contact NorPix technical support at