Ejemplo n.º 1
0
 protected override void Trigger_TriggerChanged(TRIGGER_STATUS status)
 {
     if ((TRIGGER_STATUS)status == TRIGGER_STATUS.ON)
     {
         seqenceNum = 0;
         int msgID = GenerateWinMessage("Simulate capturing images...");
         RefreshScale();
         if (captureImageMode == CapturePKI.PanelCaptureMode.Sequence)
         {
             Kernel32Interface.SendMessage(HostHandle, WIN_MSG.WM_SHOW_PROGRESS, msgID, FrameCount);
         }
         else if (captureImageMode == CapturePKI.PanelCaptureMode.Continuous)
         {
             Kernel32Interface.SendMessage(HostHandle, WIN_MSG.WM_SHOW_PROGRESS, msgID, 0);
         }
         Kernel32Interface.SendMessage(HostHandle, WIN_MSG.WM_TRIGGER_CHANGE, (int)status, 0);
         timerGenerateImage.Start();
         //Trigger.Stop();
         //int msgID = GenerateWinMessage("Capturing images...");
     }
     else if ((TRIGGER_STATUS)status == TRIGGER_STATUS.OFF)
     {
         Kernel32Interface.SendMessage(HostHandle, WIN_MSG.WM_SHOW_PROGRESS, -2, 0);
         Kernel32Interface.SendMessage(HostHandle, WIN_MSG.WM_TRIGGER_CHANGE, (int)status, 0);
         timerGenerateImage.Stop();
         Trigger.Stop();
     }
 }
Ejemplo n.º 2
0
 public override void Cancel()
 {
     WorkStatus = false;
     Kernel32Interface.SendMessage(HostHandle, WIN_MSG.WM_CAPTURE_WORKSTATUS, 0, 0);
     Kernel32Interface.SendMessage(HostHandle, WIN_MSG.WM_SHOW_PROGRESS, -2, 0);
     timerGenerateImage.Stop();
     Trigger.Stop();
     base.Cancel();
 }
Ejemplo n.º 3
0
        public override void Start()
        {
            WorkStatus = true;
            int msgID = GenerateWinMessage("Preparing irradiation and capturing...");

            Kernel32Interface.SendMessage(HostHandle, WIN_MSG.WM_SHOW_PROGRESS, msgID, 0);
            Kernel32Interface.SendMessage(HostHandle, WIN_MSG.WM_CAPTURE_WORKSTATUS, 1, 0);
            base.Start();
        }
Ejemplo n.º 4
0
 protected virtual void  Trigger_TriggerChanged(TRIGGER_STATUS status)
 {
     if ((TRIGGER_STATUS)status == TRIGGER_STATUS.ON)
     {
         Trigger.Stop();
         CaptureImageData();
     }
     Kernel32Interface.SendMessage(HostHandle, WIN_MSG.WM_TRIGGER_CHANGE, (int)status, 0);
 }
        public override void CaptureImageData()
        {
            base.CaptureImageData();

            OpenFileDialog dlg = new OpenFileDialog();

            dlg.Filter = "*.*|*.*";

            string lastFilePath = CapturePub.readCaptrueValue(XmlField.OpenFilePath);

            if (Directory.Exists(lastFilePath))
            {
                dlg.InitialDirectory = lastFilePath;
            }
            dlg.Multiselect = true;

            string[] files = null;
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                files         = dlg.FileNames;
                SeqFrameCount = files.Length;
            }
            if (files != null && files.Length > 0)
            {
                FileInfo fi = new FileInfo(files[0]);
                CapturePub.saveCaptrueValue(XmlField.OpenFilePath, fi.DirectoryName);
                int msgID = GenerateWinMessage("Loading files...");
                Kernel32Interface.SendMessage(HostHandle, WIN_MSG.WM_SHOW_PROGRESS, msgID, SeqFrameCount);
                for (int i = 0; i < SeqFrameCount; i++)
                {
                    ReadFile(files[i]);
                    Kernel32Interface.SendMessage(HostHandle, WIN_MSG.WM_SHOW_PROGRESS, -1, 1);
                }
                Kernel32Interface.SendMessage(HostHandle, WIN_MSG.WM_SHOW_PROGRESS, -2, 0);
                //Kernel32Interface.SendMessage(HostHandle, WIN_MSG.WM_CAPTURE_DATA, (int)CapturePKI.PanelCaptureMode.Sequence,0);
            }
            else
            {
                files = null;
            }
            Files = files;
        }
Ejemplo n.º 6
0
        private void timerGenerateImage_Elapsed(object sender, ElapsedEventArgs e)
        {
            seqenceNum++;
            if (captureImageMode == CapturePKI.PanelCaptureMode.Sequence)
            {
                Kernel32Interface.SendMessage(HostHandle, WIN_MSG.WM_SHOW_PROGRESS, -1, 1);
                Bitmap   bm = new Bitmap(imageColumns, imageRows);
                Graphics g  = Graphics.FromImage(bm);
                g.FillRectangle(new SolidBrush(Color.Black), 0, 0, bm.Width, bm.Height);
                Font font = new Font(FontFamily.GenericSansSerif, 800, FontStyle.Bold);
                g.DrawString(seqenceNum.ToString(), font, new SolidBrush(Color.White), new PointF(0, 0));

                ImageObject image = new ImageObject();
                image.pixelSize   = pixelSize;
                image.imageData   = BitmapToUShort(bm);
                image.imageWidth  = image.imageData.GetLength(1);
                image.imageHeight = image.imageData.GetLength(0);
                image.centerX     = imageCenterX;
                image.centerY     = imageCenterY;
                image.createTime  = DateTime.Now;
                imgList.Add(image);
                if (seqenceNum == FrameCount)
                {
                    Kernel32Interface.SendMessage(HostHandle, WIN_MSG.WM_CAPTURE_DATA, (int)captureImageMode, 0);
                    timerGenerateImage.Stop();
                    WorkStatus = false;
                    Kernel32Interface.SendMessage(HostHandle, WIN_MSG.WM_SHOW_PROGRESS, -2, 0);
                    Kernel32Interface.SendMessage(HostHandle, WIN_MSG.WM_CAPTURE_WORKSTATUS, 0, 0);
                }
            }
            else if (captureImageMode == CapturePKI.PanelCaptureMode.Continuous)
            {
                Bitmap   bm = new Bitmap(imageColumns, imageRows);
                Graphics g  = Graphics.FromImage(bm);
                g.FillRectangle(new SolidBrush(Color.Black), 0, 0, bm.Width, bm.Height);
                Font font = new Font(FontFamily.GenericSansSerif, 800, FontStyle.Bold);
                g.DrawString(seqenceNum.ToString(), font, new SolidBrush(Color.White), new PointF(0, 0));

                ImageObject image = new ImageObject();
                image.pixelSize   = pixelSize;
                image.imageData   = BitmapToUShort(bm);
                image.imageWidth  = image.imageData.GetLength(1);
                image.imageHeight = image.imageData.GetLength(0);
                image.centerX     = imageCenterX;
                image.centerY     = imageCenterY;
                image.createTime  = DateTime.Now;
                imgList.Add(image);
                Kernel32Interface.SendMessage(HostHandle, WIN_MSG.WM_CAPTURE_DATA, (int)captureImageMode, 0);
            }
            //else if (captureImageMode == CapturePKI.PanelCaptureMode.Average)
            //{
            //    //PKL_Interface.Acquisition_DefineDestBuffers(hAcqDesc, pAcqBufferAverage, (uint)FrameCount, imageRows, imageColumns);
            //    //PKL_Interface.Acquisition_Acquire_Image(hAcqDesc, (uint)FrameCount, 0, (uint)SeqBufferMode.HIS_SEQ_AVERAGE, pOffsetBuffer, null, null);
            //    //Kernel32Interface.SendMessage(HostHandle, WIN_MSG.WM_SHOW_PROGRESS, msgID, FrameCount);
            //}
            else if (captureImageMode == CapturePKI.PanelCaptureMode.DoubleExposure)
            {
                //beamON_Num++;
                //PKL_Interface.Acquisition_DefineDestBuffers(hAcqDesc, pAcqBuffer, (uint)FrameCount, imageRows, imageColumns);
                //PKL_Interface.Acquisition_Acquire_Image(hAcqDesc, (uint)FrameCount, 0, (uint)SeqBufferMode.HIS_SEQ_ONE_BUFFER, null, null, null);
                //Kernel32Interface.SendMessage(HostHandle, WIN_MSG.WM_SHOW_PROGRESS, msgID, 0);
            }
        }
Ejemplo n.º 7
0
 public virtual void Cancel()
 {
     Trigger.Stop();
     Kernel32Interface.SendMessage(HostHandle, WIN_MSG.WM_SHOW_PROGRESS, -2, 0);
 }
Ejemplo n.º 8
0
 protected void Trigger_TriggerStatus(TRIGGER_STATUS status)
 {
     Kernel32Interface.SendMessage(HostHandle, WIN_MSG.WM_TRIGGER_STATUS, (int)status, 0);
 }
Ejemplo n.º 9
0
        protected void Trigger_ProgressBegin(string info, int progressValue)
        {
            int msgID = GenerateWinMessage(info);

            Kernel32Interface.SendMessage(HostHandle, WIN_MSG.WM_SHOW_PROGRESS, msgID, progressValue);
        }