Example #1
0
        /// <summary>
        /// 指定したディレクトリから,測定データをロードします.
        /// </summary>
        /// <param name="directory"></param>
        /// <returns></returns>
        public async Task LoadFromAsync(string directory)
        {
            // まずパラメータだけでROISpectraを生成する。
            var roi_spectra = await ReadParaPeakAsync(directory);

            // サイクルごと→元素範囲ごとで格納されているが、
            // 元素範囲ごと→サイクルごとの方が使いやすいと思うので、そのように変換する。

            for (int j = 0; j < roi_spectra.Length; j++)
            {
                roi_spectra[j].Data = new EqualIntervalData[Cycles];
            }

            // データを読み込む。
            using (var reader = new BinaryReader(new FileStream(Path.Combine(directory, "data.peak"), FileMode.Open, FileAccess.Read)))
            {
                // サイクルごと
                for (int i = 0; i < Cycles; i++)
                {
                    // 元素範囲ごと
                    for (int j = 0; j < roi_spectra.Length; j++)
                    {
                        roi_spectra[j].Data[i] = await EqualIntervalData.GenerateAsync(reader, roi_spectra[j].Parameter.PointsCount);
                    }
                }
            }

            Spectra = roi_spectra.ToDictionary(spec => spec.Name);
        }
Example #2
0
        public async Task LoadFromAsync(string directory)
        {
            // パラメータを読み込む。
            _scanParameter = await ScanParameter.GenerateAsync(directory);


            // データを読み込む。
            using (var reader = new BinaryReader(new FileStream(Path.Combine(directory, "data"), FileMode.Open, FileAccess.Read)))
            {
                _data = await EqualIntervalData.GenerateAsync(reader);
            }
            //Loaded(this, EventArgs.Empty);
        }