09-25-2010 07:00 PM
dear all,
i am using a CoolSnap HQ camera with a sony ICX285 interline CCD.
I would like to read out the first pixel line just above the serial register (so the ROI is: [0, 1391, 0, 1]) at a high frame rate (1ms expo, 2ms wait before next frame).
We have an old software (without sourcecode), that is able to perform this, as we can see from the logs taken from the camera expo and readout TTL output signals.
The problem is that we can't find a configuration for the camera to do the same at the same frame rate in our own code.
We wrote a code (C + PVCAM 2.6) that instructs the camera to wait for a TTL Trigger (bulb signal) and read out the line we need (and of course sets up other camera parameters that we beleive to be appropriate). The camera receives the high TTL signal, start the 1ms exposure, finishes OK after 1 ms (our TTL trigger now goes to low), after a few microseconds, read out begins (the line we need is just above the serial register, so its fast), readout also finishes after a few microsecs, and then, (after ~1ms) when receiving the new trigger signal from the NIdaq card, it simply refuses to start the new exposure and the new readout. It waits 14-15 ms after every succesfull readout before reacting to the next trigger signal.
So, we the old software, it looks like this: EXPO(1ms)->~100microsecs->READOUT(~100 microsecs)->~1ms->EXPO........
With ours, its: EXPO(1ms)->~100microsecs->READOUT(~100 microsecs)->ignoring TTL for about 14ms->EXPO......
So basically our frame rate is tha same as if we were reading out the topmost pixel line, the furthest from the serial register.
The reason for this seems to be, that we are unable to tell the camera to stop pulling lines down from the CCD into the serial register after the first line is read out, and enter IDLE state and "listen" for the next bulb.
What are we missing ? Thank you in advance
10-11-2010 10:41 AM
Hallo,
I have almost the same problem. I'm using OMA V detector from Roper Scientific and wrote a code (C++ with PVCam 2.7.6 library) to detect and save spectra from the detector. You can use to modi to come along with your problem:
Number one:
Receiving TTL-signals I use the PCIe-Card 6321 from National Instruments to detect the negative edge to start the exposure (so called TIMED_MODE in PVCam). Then wait for next TTL-Signal an so on. This works basically fine, because you can set pulse length and pause times long enough to detect every single TTL-signal.
Number two:
The OMA V detector is recieving TTL-signals directly and starts the exposure (so called STROBED_MODE in PVCam). Here comes a problem. The controller of the OMA V detector or another controller is too slow to detect every TTL-signal. So you miss some measurements or another worse case: your software is waiting for e.g. 100 TTL-signals, but your camera only got 90 and your software is captured and while-loop or for-loop.
I've tried both. The last one doesn't work well in my case, because my detector seems to be too slow and loses up to several 100 measurement in a mapping of about 50000 measurements. The first one using the PCIe-Card 6321 from NI is in my case also a problem. It has negative effects on the exposure time of my detector --> they vary (like zigzag-patterns) and can drop under the presetted exposure time - quite strange. I really don't know why... perhaps problems by using two drivers/libraries (one from NI --> NI-DAQmx and RoperScientific --> PVCam) .
So, can you tell me which card do you use to detect your TTL-signals?
Best regards,
Torsten Schwarz