Ejemplo n.º 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
        }
Ejemplo n.º 2
0
        // This function sets up the camera
        public void SetUpAndor()
        {
            sdk.SetADChannel(ADChannel);

            int _NumberHSSpeeds = 0;

            sdk.GetNumberHSSpeeds(ADChannel, 0, ref _NumberHSSpeeds);

            float _HSSpeedMax = 0;

            sdk.GetHSSpeed(ADChannel, 0, 0, ref _HSSpeedMax);
            HSSpeedMax = _HSSpeedMax;

            float _HSSpeedMin = 0;

            sdk.GetHSSpeed(ADChannel, 0, _NumberHSSpeeds - 1, ref _HSSpeedMin);
            HSSpeedMin = _HSSpeedMin;

            sdk.SetHighCapacity(0); // Note: 1 disables high sensitivity. 0 enables high sensitivity

            // sdk.SetImage(hbin, vbin, hstart, hend,vstart,vend)
            sdk.SetImage(1, 1, 1, XDim, 1, YDim); // Use full sensor area

            sdk.SetAcquisitionMode(AcquisitionMode);
            sdk.SetReadMode(ReadMode);

            // These functions control the camera's mode of operation
            sdk.SetMCPGating(Gating);
            sdk.SetTriggerMode(TriggerMode);
            sdk.SetDDGTriggerMode(DDGTriggerMode);

            sdk.SetGateMode(GateMode);

            sdk.SetMCPGain(defaultGain); // This functions controls the voltage of the intensifier mcp

            sdk.SetHSSpeed(0, 0);

            int   vsspeed_i = 0;
            float vsspeed   = 0;

            sdk.GetFastestRecommendedVSSpeed(ref vsspeed_i, ref vsspeed);
            sdk.SetVSSpeed(vsspeed_i);
        }