コード例 #1
0
        private void updateCammeraParameters()
        {
            CameraParameter cameraParameter = this.parameters.GetCameraParameter();

            if (this.xiAcquirer == null)
            {
                this.xiAcquirer = new XIAcquirer();
            }

            this.xiAcquirer.Open();

            object[] parameters = this.xiAcquirer.Get();

            this.xiAcquirer.Close();

            if ((parameters != null) && (parameters.Length > 0))
            {
                CameraParameter newCammeraParam = parameters[0] as CameraParameter;

                if (newCammeraParam != null)
                {
                    cameraParameter.DeviceInstancePath = newCammeraParam.DeviceInstancePath;
                    cameraParameter.DeviceName         = newCammeraParam.DeviceName;
                    cameraParameter.DeviceSN           = newCammeraParam.DeviceSN;
                    cameraParameter.DeviceType         = newCammeraParam.DeviceType;
                    cameraParameter.FrameRate          = newCammeraParam.FrameRate;
                    cameraParameter.AvailableBandWidth = newCammeraParam.AvailableBandWidth;
                    cameraParameter.OuputImageOffsetX  = newCammeraParam.OuputImageOffsetX;
                    cameraParameter.OutputImageOffsetY = newCammeraParam.OutputImageOffsetY;

                    this.propertyGridParameters.Refresh();
                }
            }
        }
コード例 #2
0
        private void startAcquisition()
        {
            if (this.xiAcquirer == null)
            {
                this.xiAcquirer = new XIAcquirer();
            }

            this.xiAcquirer.Open();

            this.xiAcquirer.Start();
        }
コード例 #3
0
        private void startAcquisition()
        {
            if (this.xiAcquirer == null)
            {
                this.xiAcquirer = new XIAcquirer();
            }

            this.xiAcquirer.Open();

            //this.xiAcquirer.SetDeviceInstance(this.getDeviceInstance());

            this.xiAcquirer.Start();
        }
コード例 #4
0
        private DataPair doAcquisition(DataIdentifier identifier)
        {
            if (this.xiAcquirer == null)
            {
                this.xiAcquirer = new XIAcquirer();

                this.xiAcquirer.SetDeviceInstance(this.detector.GetDeviceInstance());
            }

            DataItem dataItem = this.xiAcquirer.Acquire();

            DataPair pair = new DataPair()
            {
                Identifier = identifier,
                Items      = new List <DataItem>()
                {
                    dataItem
                }
            };

            return(pair);
        }
コード例 #5
0
        private void testToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.setControls(true);

            this.applyParameters();

            this.updateCammeraParameters();

            Action action = new Action(() =>
            {
                this.xiAcquirer = new XIAcquirer();

                object[] testOutput = null;

                byte[] result = this.xiAcquirer.Test(out testOutput);

                DataPair pair = testOutput[0] as DataPair;

                pair = this.doCorrelation(pair.Identifier, pair.Items[0]);

                pair = this.doComputation(pair);

                pair = this.doCorrelation(pair.Identifier, pair.Items[0]);

                using (MemoryStream stream = new MemoryStream(pair.Items[1].DataBytes))
                {
                    this.bitmap = Bitmap.FromStream(stream) as Bitmap;
                }

                if (this.persistencyManager == null)
                {
                    this.persistencyManager = new PersistencyManager();
                }

                List <string> persistencyResult = this.persistencyManager.Persist
                                                  (
                    pair,
                    ((int)(this.parameters.GetPersistencyParameter().PersistencyType)),
                    new Dictionary <string, object>()
                {
                    { "DataStore", this.parameters.GetPersistencyParameter().DataStore },
                    { "FileExtension", this.parameters.GetCameraParameter().ImageOutputFormat.ToString() }
                }
                                                  ) as List <string>;

                if (this.parameters.GetPersistencyParameter().PersistencyType == PersistencyType.FileSystem)
                {
                    this.currentImageFile = persistencyResult[1];

                    this.imageUrlMappings.Add(this.currentImageFile, this.currentImageFile + ".info.xml");
                }
                else
                {
                    string servicePoint    = ConfigurationManager.AppSettings.Get("ServicePoint");
                    string imageServiceUrl = ConfigurationManager.AppSettings.Get("ImageServiceUrl");
                    string imageInfoUrl    = ConfigurationManager.AppSettings.Get("ImageInfoUrl");

                    imageServiceUrl = String.Format(imageServiceUrl, persistencyResult[1]);
                    imageInfoUrl    = String.Format(imageInfoUrl, persistencyResult[1]);

                    if (!servicePoint.EndsWith("/"))
                    {
                        servicePoint = servicePoint + "/";
                    }

                    if (imageServiceUrl.StartsWith("/"))
                    {
                        imageServiceUrl = imageServiceUrl.Remove(0, 1);
                    }

                    if (imageInfoUrl.StartsWith("/"))
                    {
                        imageInfoUrl = imageInfoUrl.Remove(0, 1);
                    }

                    this.currentImageFile = servicePoint + imageServiceUrl;

                    this.imageUrlMappings.Add(this.currentImageFile, servicePoint + imageInfoUrl);
                }

                this.Invoke(new Action(() =>
                {
                    this.pictureBoxAcquiredImage.Image = this.bitmap;
                    this.listBoxBarcodes.DataSource    = pair.Items[1].GetParameterValue("BarCodes").Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); //barcodes;

                    this.pictureBoxAcquiredImage.Refresh();
                    this.listBoxBarcodes.Refresh();

                    this.tabControlMain.SelectedTab = this.tabPageBarcodes;

                    this.toolStripStatusLabelCurrentStatus.Text = this.currentImageFile;

                    if (this.bindingSource.Count == 20)
                    {
                        string imageUrlMappingKey = this.bindingSource[0].ToString();

                        if (this.imageUrlMappings.ContainsKey(imageUrlMappingKey))
                        {
                            this.imageUrlMappings.Remove(imageUrlMappingKey);
                        }

                        this.bindingSource.RemoveAt(0);
                    }

                    this.bindingSource.Add(new DataParameter()
                    {
                        Name = this.currentImageFile, Value = this.currentImageFile
                    });

                    this.dataGridViewRecentImages.Refresh();

                    this.setControls(false);
                }));
            });

            Task.Run(action);
        }