private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            wrapper = new OmniDriver.CCoWrapper();
            wrapper.setIntegrationTime(0, 100000);
            txt_intergrationTime.Text = "0.1";
            txt_collectDataTime.Text  = "0.1";
            numberOfSpectrometers     = wrapper.openAllSpectrometers();
            if (numberOfSpectrometers == 0)
            {
                MessageBox.Show("找不到光谱仪");
                textBox1.Text = "0";
                return;
            }
            else
            {
                textBox1.Text   = numberOfSpectrometers.ToString();
                wavelengthArray = (double[])wrapper.getWavelengths(0);
            }
            for (int i = 0; i < 2068; ++i)
            {
                xCoord[i] = i;
                yCoord[i] = 0;
            }
            xDataSource = new EnumerableDataSource <double>(xCoord);
            xDataSource.SetXMapping(x => x);

            datasDataSource = new EnumerableDataSource <double>(yCoord);
            datasDataSource.SetYMapping(y => y);

            compositeDataSource = new CompositeDataSource(xDataSource, datasDataSource);

            plotter.AddLineGraph(compositeDataSource, new Pen(Brushes.Blue, 1), new PenDescription("光谱曲线"));
            plotter.Viewport.FitToView();
            plotter2.AddLineGraph(datapoint, new Pen(Brushes.Red, 2), new PenDescription("亮度变化曲线"));
        }
示例#2
0
        private static Thread[] read_threads; //每个通道分配一个read_spec的线程



        public spec_wrapper()
        {
            cnt_of_devices = 0;
            build_num      = 0;
            is_test_model  = true;
            wrapper        = new OmniDriver.CCoWrapper();
        }
示例#3
0
        static void Main(string[] args)
        {
            int numberOfSpectrometers;                  // actually attached and talking to us

            OmniDriver.CCoWrapper wrapper = new OmniDriver.CCoWrapper();
            // obsolete wrapper.CreateWrapper();                    // this is the object through which we will access all of Omnidriver's capabilities

            numberOfSpectrometers = wrapper.openAllSpectrometers(); // Gets an array of spectrometer objects
            if (numberOfSpectrometers == 0)
            {
                wrapper.closeAllSpectrometers();
                return;
            }
            else if (numberOfSpectrometers == 1)
            {
                Console.WriteLine("Starting wavelength extraction...\n\n");
                int      pixelCount = wrapper.getNumberOfPixels(0);
                double[] wavelength = new double[pixelCount];
                wavelength = wrapper.getWavelengths(0);

                string path = System.IO.Directory.GetCurrentDirectory();
                System.IO.FileStream   fileStream = new System.IO.FileStream(path + "\\wavelength.txt", System.IO.FileMode.Create, System.IO.FileAccess.Write);
                System.IO.StreamWriter sw         = new System.IO.StreamWriter(fileStream);
                for (int i = 0; i < pixelCount; i++)
                {
                    sw.WriteLine(wavelength[i].ToString());
                }

                Console.WriteLine("Wavelength extraction has been done.");
                Console.WriteLine("Please input enter key to exit this program.");
                Console.ReadLine();

                //Console.WriteLine("GIT TESTING!!");
                //Console.WriteLine("dummy");

                wrapper.closeAllSpectrometers();
                sw.Close();
                fileStream.Close();
            }
        }