Beispiel #1
0
        public void StartKineticImaging(float exposure, int numberOfImages, float cycleTime, int horzBin, int vertBin, int acqMode, int numExpGroups, float[] exp)
        {
            uint uiErrorCode;

            uiErrorCode = MyCamera.SetReadMode(4);                                     // 0 Full Vertical Binning, 1 Multi-Track, 2 Random-Track, 3 Single-Track, 4 Image

            uiErrorCode = MyCamera.SetImage(horzBin, vertBin, 1, xPixels, 1, yPixels); // horizontal binning, vertical binning,horz start pixel, horz end pixel, vert start pixel, vert end pixel

            uiErrorCode = MyCamera.SetFrameTransferMode(0);                            // 0 = OFF, 1 = ON

            MyCamera.SetAcquisitionMode(acqMode);                                      // 3 = Kinetic Mode, 4 = Fast Kinetic, 5 = Run til Abort

            MyCamera.SetTriggerMode(10);                                               // Software Trigger

            if (numExpGroups > 1)
            {
                MyCamera.SetExposureTime(exp[0]);   // Exposure Time in seconds
            }
            else
            {
                MyCamera.SetRingExposureTimes(numExpGroups, exp);  // set the exposure times that will be cycled through
            }
            // Move Filter to first position


            MyCamera.StartAcquisition();

            MyCamera.SendSoftwareTrigger();

            MyCamera.SetNumberAccumulations(1);         // how many scans for each image (no accummulation here...just a single scan per image)
            MyCamera.SetNumberKinetics(numberOfImages); // number of images to take in this series of images
            MyCamera.SetKineticCycleTime(cycleTime);    // time between the start of consectutive images, in seconds. MUST be larger than exposure time
        }