// (0.0.6)バグを修正. // parameterで数値が渡されれば、1サイクルに対して解析を行う。 // さもなければ、全サイクルに対して解析を行う。 async void FitSpectrum_Executed(object parameter) { // parameterがnullであれば,全てのprofileに対してフィッティングを行う. // parameterにprofileが与えられていれば,それに対してフィッティングを行う. // ★BaseROIを決める段階と,実際のフィッティングを行う段階を分離した方がいいのでは? this.FitCommandExecuting = true; try { var fitting_task = parameter is FittingProfile ? DepthProfileFittingData.FitSingleProfile((FittingProfile)parameter) : DepthProfileFittingData.FitAsync(); try { await fitting_task; } catch (Exception) { } if (fitting_task.Exception is AggregateException) { var message = string.Join("\n", fitting_task.Exception.InnerExceptions.Select(ex => ex.Message)); Messenger.Default.Send(this, new SimpleMessage(this) { Message = message }); return; } } finally { this.FitCommandExecuting = false; } }
void RemoveProfile_Executed(object parameter) { if (CurrentFittingProfile != null) { // これで大丈夫かな? DepthProfileFittingData.RemoveFittingProfile(CurrentFittingProfile); } }
void SaveCondition_Executed(object parameter) { var message = new SelectSaveFileMessage(this) { Message = "プロファイルの出力先を選んで下さい。" }; message.Ext = new string[] { ".fcd" }; Messenger.Default.Send(this, message); if (!string.IsNullOrEmpty(message.SelectedFile)) { DepthProfileFittingData.SaveFittingCondition(message.SelectedFile); } }
void LoadCondition_Executed(object parameter) { var message = new SelectOpenFileMessage(this) { Message = "ロードするプロファイルを選択して下さい。" }; message.Filter = new string[] { "*.fcd", "*" }; Messenger.Default.Send(this, message); if (!string.IsNullOrEmpty(message.SelectedFile)) { // ロードする. DepthProfileFittingData.LoadFittingCondition(message.SelectedFile); } }
async void AddReferenceSpectrum_Executed(object parameter) { var message = new SelectOpenFileMessage(this) { Message = "参照スペクトルを選んで下さい." }; // 拡張子ではなくファイル名が指定されている場合ってどうするの? message.Filter = new string[] { "id" }; Messenger.Default.Send(this, message); if (!string.IsNullOrEmpty(message.SelectedFile)) { await DepthProfileFittingData.AddReferenceSpectrumAsync(message.SelectedFile, CurrentFittingProfile); } }
void SelectChartDestination_Executed(object parameter) { // ディレクトリを選ぶのか? // とりあえずファイル選択にしておく. // →ファイル選択と見せかけて、ディレクトリ選択にする。 var message = new SelectSaveFileMessage(this) { Message = "pngファイルの出力先を選んで下さい." }; message.Ext = new string[] { ".png" }; Messenger.Default.Send(this, message); DepthProfileFittingData.SetChartDestination(message.SelectedFile); }
void AddFittingProfile_Executed(object parameter) { DepthProfileFittingData.AddFittingProfile(CurrentROI); }