Loading INAF.Apps.Uwp.SLabDataManager/Charts/SpectraContainer.cs 0 → 100644 +158 −0 Original line number Diff line number Diff line using INAF.Libraries.NetStandard.ScienceModels.Spectra; using Microsoft.Toolkit.Mvvm.ComponentModel; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Threading.Tasks; using static INAF.Libraries.NetStandard.ScienceModels.Enums.Enums; namespace INAF.Apps.Uwp.SLabDataManager.Charts { public class SpectraContainer : ObservableObject { public SpectraContainer(string yAxisTitle) { YAxisTitle = yAxisTitle; Spectra = new ObservableCollection<SpectrumModel>(); XAxisMajorStepValues = new List<double>(2); XAxisMajorStepValues.Add(Constants.Constants.X_AXIS_MAJOR_STEP_0DOT1); XAxisMajorStepValues.Add(Constants.Constants.X_AXIS_MAJOR_STEP_100); } public SelectedRefBand SelectedRefBand { get; private set; } = new SelectedRefBand(); private ObservableCollection<SpectrumModel> spectra; public ObservableCollection<SpectrumModel> Spectra { get { return spectra; } private set { SetProperty(ref spectra, value); } } #region spectrums min/max private AxisBoundariesModel xAxisBoundaries; public AxisBoundariesModel XAxisBoundaries { get { return xAxisBoundaries; } private set { SetProperty(ref xAxisBoundaries, value); } } private AxisBoundariesModel yAxisBoundaries; public AxisBoundariesModel YAxisBoundaries { get { return yAxisBoundaries; } private set { SetProperty(ref yAxisBoundaries, value); } } public string YAxisTitle { get; set; } #region x axis major step private double selectedXAxisMajorStep; public double SelectedXAxisMajorStep { get { return selectedXAxisMajorStep; } private set { SetProperty(ref selectedXAxisMajorStep, value); } } public List<double> XAxisMajorStepValues { get; private set; } #endregion #endregion public async Task addSpectrumAsync(SpectrumModel spectrum) { if (Spectra.Any(x => x.Type == spectrum.Type)) { /* if a spectrum of same type is already present, then replace it... */ int index = Spectra.IndexOf(spectrum); Spectra[index] = spectrum; } else { /* ...otherwise, add it... */ Spectra.Add(spectrum); } await setBoundariesAsync(); } public void clear() { Spectra.Clear(); } private async Task<(double xMin, double xMax, double yMin, double yMax)> getSpectrumAxesBoundariesAsync() { List<Task> tasks = new List<Task>(); double xMin = 0d; double xMax = 0d; double yMin = 0d; double yMax = 0d; tasks.Add(Task.Run(() => { List<double> xvalues = new List<double>(); foreach (var spectrum in spectra) xvalues.AddRange(spectrum.Elements.Select(x => x.X)); xMin = xvalues.Min(); xMax = xvalues.Max(); })); tasks.Add(Task.Run(() => { List<double> yvalues = new List<double>(); foreach (var spectrum in spectra) yvalues.AddRange(spectrum.Elements.Select(x => x.Y)); yMin = yvalues.Min(); yMax = yvalues.Max(); })); await Task.WhenAll(tasks); return (xMin * 0.9, xMax * 1.1, yMin * 0.9, yMax * 1.1); } public SpectrumModel getSpectrumOfType(SpectrumType spectrumType) { return Spectra.FirstOrDefault(x => x.Type == spectrumType); } public async Task refreshBoundariesAsync() { (double xMin, double xMax, double yMin, double yMax) result = await getSpectrumAxesBoundariesAsync(); XAxisBoundaries.updateAxisBoundaries(result.xMin, result.xMax); YAxisBoundaries.updateAxisBoundaries(result.yMin, result.yMax); } private async Task setBoundariesAsync() { (double xMin, double xMax, double yMin, double yMax) result = await getSpectrumAxesBoundariesAsync(); XAxisBoundaries = new AxisBoundariesModel("x", result.xMin, result.xMax, spectra[0].Elements[0].MeasureUnit); YAxisBoundaries = new AxisBoundariesModel("y", result.yMin, result.yMax); System.Diagnostics.Debug.WriteLine($"x: ({result.xMin},{result.xMax}) - y: ({result.yMin},{result.yMax})"); } private void setXAxisMajorStep(WavelengthMeasureUnit wavelengthMeasureUnit) { switch (wavelengthMeasureUnit) { case WavelengthMeasureUnit.Nanometers: SelectedXAxisMajorStep = XAxisMajorStepValues.FirstOrDefault(x => x == Constants.Constants.X_AXIS_MAJOR_STEP_100); break; case WavelengthMeasureUnit.Microns: SelectedXAxisMajorStep = XAxisMajorStepValues.FirstOrDefault(x => x == Constants.Constants.X_AXIS_MAJOR_STEP_0DOT1); break; } } public void switchXAxisMeasureUnit(WavelengthMeasureUnit wavelengthMeasureUnit) { Spectra.All(x => { x.switchToMeasureUnit(wavelengthMeasureUnit); return true; }); XAxisBoundaries.switchToMeasureUnit(wavelengthMeasureUnit); //setXAxisMajorStep(wavelengthMeasureUnit); } } } INAF.Apps.Uwp.SLabDataManager/Charts/SpectrumAlignmentConfigModel.cs +19 −115 Original line number Diff line number Diff line Loading @@ -5,6 +5,8 @@ using INAF.Libraries.NetStandard.ScienceModels.Spectra.Serializable; using INAF.Libraries.Uwp.Settings; using static INAF.Libraries.NetStandard.ScienceModels.Enums.Enums; using INAF.Libraries.NetStandard.Extensions; using System.Collections.ObjectModel; using System.Linq; namespace INAF.Apps.Uwp.SLabDataManager.Charts { Loading @@ -16,6 +18,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts { this.settingsHelper = settingsHelper; WavelengthSeparators = new ObservableCollection<WavelengthModel>(); if (!tryReadAreSeparatorsVisible()) AreSeparatorsVisible = true; Loading @@ -42,33 +46,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts set { numOfPointsForAlignment = value; System.Diagnostics.Debug.WriteLine($"numOfPointsForAlignment: {numOfPointsForAlignment}"); saveNumOfPointsForAlignment(value); RaisePropertyChanged(nameof(AreSeparatorsVisible)); } } private WavelengthModel separatorWavelength0; public WavelengthModel SeparatorWavelength0 { get { return separatorWavelength0; } set { separatorWavelength0 = value; RaisePropertyChanged(nameof(SeparatorWavelength0)); } } private WavelengthModel separatorWavelength1; public WavelengthModel SeparatorWavelength1 { get { return separatorWavelength1; } set { separatorWavelength1 = value; RaisePropertyChanged(nameof(SeparatorWavelength1)); } } private WavelengthModel separatorWavelength2; public WavelengthModel SeparatorWavelength2 { get { return separatorWavelength2; } set { separatorWavelength2 = value; RaisePropertyChanged(nameof(SeparatorWavelength2)); } } private WavelengthModel separatorWavelength3; public WavelengthModel SeparatorWavelength3 { get { return separatorWavelength3; } set { separatorWavelength3 = value; RaisePropertyChanged(nameof(SeparatorWavelength3)); } } public ObservableCollection<WavelengthModel> WavelengthSeparators { get; set; } #endregion #region save/read settings Loading Loading @@ -127,105 +105,34 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts wavelengthSerializableModel.Step, wavelengthSerializableModel.MeasureUnit, "WavelengthLabel".GetText()); switch (index) { case 0: SeparatorWavelength0 = separatorWavelength; break; case 1: SeparatorWavelength1 = separatorWavelength; break; case 2: SeparatorWavelength2 = separatorWavelength; break; case 3: SeparatorWavelength3 = separatorWavelength; break; } System.Diagnostics.Debug.WriteLine($"tryReadWavelengthModel({index})"); addSeparatorWavelengthEventListener(index); addSeparatorWavelength(separatorWavelength); } } #endregion public void addSeparatorWavelength(int index, WavelengthModel wavelength) public void addSeparatorWavelength(WavelengthModel separatorWavelength) { System.Diagnostics.Debug.WriteLine($"addSeparatorWavelength({index})"); switch (index) System.Diagnostics.Debug.WriteLine($"addSeparatorWavelength({separatorWavelength.Index})"); if (!WavelengthSeparators.Any(x => x.Index == separatorWavelength.Index)) { case 0: SeparatorWavelength0 = wavelength; break; case 1: SeparatorWavelength1 = wavelength; break; case 2: SeparatorWavelength2 = wavelength; break; case 3: SeparatorWavelength3 = wavelength; break; WavelengthSeparators.Add(separatorWavelength); addSeparatorWavelengthEventListener(separatorWavelength); } addSeparatorWavelengthEventListener(index); } private void addSeparatorWavelengthEventListener(int index) private void addSeparatorWavelengthEventListener(WavelengthModel wavelength) { switch (index) { case 0: SeparatorWavelength0.PropertyChanged += (s, e) => { WavelengthModel wavelengthModel = s as WavelengthModel; saveWavelengthModel(0, wavelengthModel.CurrentValue, wavelengthModel.SemiRange, wavelengthModel.StepValue, wavelengthModel.MeasureUnit); }; break; case 1: SeparatorWavelength1.PropertyChanged += (s, e) => wavelength.PropertyChanged += (s, e) => { WavelengthModel wavelengthModel = s as WavelengthModel; saveWavelengthModel(1, wavelengthModel.CurrentValue, wavelengthModel.SemiRange, wavelengthModel.StepValue, wavelengthModel.MeasureUnit); saveWavelengthModel(wavelength.Index, wavelengthModel.CurrentValue, wavelengthModel.SemiRange, wavelengthModel.StepValue, wavelengthModel.MeasureUnit); }; break; case 2: SeparatorWavelength2.PropertyChanged += (s, e) => { WavelengthModel wavelengthModel = s as WavelengthModel; saveWavelengthModel(2, wavelengthModel.CurrentValue, wavelengthModel.SemiRange, wavelengthModel.StepValue, wavelengthModel.MeasureUnit); }; break; case 3: SeparatorWavelength3.PropertyChanged += (s, e) => { WavelengthModel wavelengthModel = s as WavelengthModel; saveWavelengthModel(3, wavelengthModel.CurrentValue, wavelengthModel.SemiRange, wavelengthModel.StepValue, wavelengthModel.MeasureUnit); }; break; } } public bool contains(int index) { bool contains = false; switch (index) { case 0: contains = SeparatorWavelength0 != null; break; case 1: contains = SeparatorWavelength1 != null; break; case 2: contains = SeparatorWavelength2 != null; break; case 3: contains = SeparatorWavelength3 != null; break; } return contains; return WavelengthSeparators.Any(x => x.Index == index); } public (double xMin, double xMax) getSelectedSegmentBoundaries(double xLow, double xHigh) Loading @@ -244,10 +151,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts public void switchToMeasureUnit(WavelengthMeasureUnit newMeasureUnit) { SeparatorWavelength0.switchToMeasureUnit(newMeasureUnit); SeparatorWavelength1.switchToMeasureUnit(newMeasureUnit); SeparatorWavelength2.switchToMeasureUnit(newMeasureUnit); SeparatorWavelength3.switchToMeasureUnit(newMeasureUnit); WavelengthSeparators.All(x => { x.switchToMeasureUnit(newMeasureUnit); return true; }); } } } INAF.Apps.Uwp.SLabDataManager/Constants/Constants.cs +3 −0 Original line number Diff line number Diff line Loading @@ -27,5 +27,8 @@ public static readonly string OUTPUT_SPECTRA_FOLDER_TOKEN = "outputspectrafoldertoken"; public static readonly string INPUT_WHITES_FOLDER = "inputwhitesfolder"; public static readonly string INPUT_WHITES_FOLDER_TOKEN = "inputwhitesfoldertoken"; public static readonly double X_AXIS_MAJOR_STEP_0DOT1 = 0.1; public static readonly double X_AXIS_MAJOR_STEP_100 = 100; } } INAF.Apps.Uwp.SLabDataManager/Converters/Converters.cs +7 −7 Original line number Diff line number Diff line using INAF.Apps.Uwp.SLabDataManager.Helpers; using INAF.Apps.Uwp.SLabDataManager.Charts; using INAF.Apps.Uwp.SLabDataManager.Helpers; using INAF.Apps.Uwp.SLabDataManager.Models; using INAF.Libraries.NetStandard.Extensions; using Microsoft.Toolkit.Mvvm.DependencyInjection; using System; using System.Collections.Generic; using System.IO; using Telerik.Charting; using Windows.UI.Xaml; using Windows.UI.Xaml.Data; using Windows.UI.Xaml.Media; using Windows.UI.Xaml.Media.Imaging; using static INAF.Apps.Uwp.SLabDataManager.Constants.Enums; using INAF.Apps.Uwp.SLabDataManager.Models; using Microsoft.Toolkit.Mvvm.DependencyInjection; using System.IO; using INAF.Libraries.NetStandard.Extensions; using System.Collections.Generic; using INAF.Libraries.NetStandard.ScienceModels.Spectra; namespace INAF.Apps.Uwp.SLabDataManager.Converters { Loading INAF.Apps.Uwp.SLabDataManager/Extensions/SpectraContainerExtensions.cs 0 → 100644 +29 −0 Original line number Diff line number Diff line using INAF.Apps.Uwp.SLabDataManager.Charts; using INAF.Libraries.NetStandard.ScienceModels.Spectra; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using static INAF.Libraries.NetStandard.ScienceModels.Enums.Enums; namespace INAF.Apps.Uwp.SLabDataManager.Extensions { public static class SpectraContainerExtensions { public static void AlignRawSpectrumAsync(this SpectraContainer spectraContainer) { SpectrumModel aligningSpectrum = createAligningSpectrum(spectraContainer); } private static SpectrumModel createAligningSpectrum(SpectraContainer spectraContainer) { var aligningSpectrum = (SpectrumModel)spectraContainer.getSpectrumOfType(SpectrumType.Raw).Clone(); aligningSpectrum.setType(SpectrumType.Aligned); aligningSpectrum.updateTitle(); return aligningSpectrum; } } } Loading
INAF.Apps.Uwp.SLabDataManager/Charts/SpectraContainer.cs 0 → 100644 +158 −0 Original line number Diff line number Diff line using INAF.Libraries.NetStandard.ScienceModels.Spectra; using Microsoft.Toolkit.Mvvm.ComponentModel; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Threading.Tasks; using static INAF.Libraries.NetStandard.ScienceModels.Enums.Enums; namespace INAF.Apps.Uwp.SLabDataManager.Charts { public class SpectraContainer : ObservableObject { public SpectraContainer(string yAxisTitle) { YAxisTitle = yAxisTitle; Spectra = new ObservableCollection<SpectrumModel>(); XAxisMajorStepValues = new List<double>(2); XAxisMajorStepValues.Add(Constants.Constants.X_AXIS_MAJOR_STEP_0DOT1); XAxisMajorStepValues.Add(Constants.Constants.X_AXIS_MAJOR_STEP_100); } public SelectedRefBand SelectedRefBand { get; private set; } = new SelectedRefBand(); private ObservableCollection<SpectrumModel> spectra; public ObservableCollection<SpectrumModel> Spectra { get { return spectra; } private set { SetProperty(ref spectra, value); } } #region spectrums min/max private AxisBoundariesModel xAxisBoundaries; public AxisBoundariesModel XAxisBoundaries { get { return xAxisBoundaries; } private set { SetProperty(ref xAxisBoundaries, value); } } private AxisBoundariesModel yAxisBoundaries; public AxisBoundariesModel YAxisBoundaries { get { return yAxisBoundaries; } private set { SetProperty(ref yAxisBoundaries, value); } } public string YAxisTitle { get; set; } #region x axis major step private double selectedXAxisMajorStep; public double SelectedXAxisMajorStep { get { return selectedXAxisMajorStep; } private set { SetProperty(ref selectedXAxisMajorStep, value); } } public List<double> XAxisMajorStepValues { get; private set; } #endregion #endregion public async Task addSpectrumAsync(SpectrumModel spectrum) { if (Spectra.Any(x => x.Type == spectrum.Type)) { /* if a spectrum of same type is already present, then replace it... */ int index = Spectra.IndexOf(spectrum); Spectra[index] = spectrum; } else { /* ...otherwise, add it... */ Spectra.Add(spectrum); } await setBoundariesAsync(); } public void clear() { Spectra.Clear(); } private async Task<(double xMin, double xMax, double yMin, double yMax)> getSpectrumAxesBoundariesAsync() { List<Task> tasks = new List<Task>(); double xMin = 0d; double xMax = 0d; double yMin = 0d; double yMax = 0d; tasks.Add(Task.Run(() => { List<double> xvalues = new List<double>(); foreach (var spectrum in spectra) xvalues.AddRange(spectrum.Elements.Select(x => x.X)); xMin = xvalues.Min(); xMax = xvalues.Max(); })); tasks.Add(Task.Run(() => { List<double> yvalues = new List<double>(); foreach (var spectrum in spectra) yvalues.AddRange(spectrum.Elements.Select(x => x.Y)); yMin = yvalues.Min(); yMax = yvalues.Max(); })); await Task.WhenAll(tasks); return (xMin * 0.9, xMax * 1.1, yMin * 0.9, yMax * 1.1); } public SpectrumModel getSpectrumOfType(SpectrumType spectrumType) { return Spectra.FirstOrDefault(x => x.Type == spectrumType); } public async Task refreshBoundariesAsync() { (double xMin, double xMax, double yMin, double yMax) result = await getSpectrumAxesBoundariesAsync(); XAxisBoundaries.updateAxisBoundaries(result.xMin, result.xMax); YAxisBoundaries.updateAxisBoundaries(result.yMin, result.yMax); } private async Task setBoundariesAsync() { (double xMin, double xMax, double yMin, double yMax) result = await getSpectrumAxesBoundariesAsync(); XAxisBoundaries = new AxisBoundariesModel("x", result.xMin, result.xMax, spectra[0].Elements[0].MeasureUnit); YAxisBoundaries = new AxisBoundariesModel("y", result.yMin, result.yMax); System.Diagnostics.Debug.WriteLine($"x: ({result.xMin},{result.xMax}) - y: ({result.yMin},{result.yMax})"); } private void setXAxisMajorStep(WavelengthMeasureUnit wavelengthMeasureUnit) { switch (wavelengthMeasureUnit) { case WavelengthMeasureUnit.Nanometers: SelectedXAxisMajorStep = XAxisMajorStepValues.FirstOrDefault(x => x == Constants.Constants.X_AXIS_MAJOR_STEP_100); break; case WavelengthMeasureUnit.Microns: SelectedXAxisMajorStep = XAxisMajorStepValues.FirstOrDefault(x => x == Constants.Constants.X_AXIS_MAJOR_STEP_0DOT1); break; } } public void switchXAxisMeasureUnit(WavelengthMeasureUnit wavelengthMeasureUnit) { Spectra.All(x => { x.switchToMeasureUnit(wavelengthMeasureUnit); return true; }); XAxisBoundaries.switchToMeasureUnit(wavelengthMeasureUnit); //setXAxisMajorStep(wavelengthMeasureUnit); } } }
INAF.Apps.Uwp.SLabDataManager/Charts/SpectrumAlignmentConfigModel.cs +19 −115 Original line number Diff line number Diff line Loading @@ -5,6 +5,8 @@ using INAF.Libraries.NetStandard.ScienceModels.Spectra.Serializable; using INAF.Libraries.Uwp.Settings; using static INAF.Libraries.NetStandard.ScienceModels.Enums.Enums; using INAF.Libraries.NetStandard.Extensions; using System.Collections.ObjectModel; using System.Linq; namespace INAF.Apps.Uwp.SLabDataManager.Charts { Loading @@ -16,6 +18,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts { this.settingsHelper = settingsHelper; WavelengthSeparators = new ObservableCollection<WavelengthModel>(); if (!tryReadAreSeparatorsVisible()) AreSeparatorsVisible = true; Loading @@ -42,33 +46,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts set { numOfPointsForAlignment = value; System.Diagnostics.Debug.WriteLine($"numOfPointsForAlignment: {numOfPointsForAlignment}"); saveNumOfPointsForAlignment(value); RaisePropertyChanged(nameof(AreSeparatorsVisible)); } } private WavelengthModel separatorWavelength0; public WavelengthModel SeparatorWavelength0 { get { return separatorWavelength0; } set { separatorWavelength0 = value; RaisePropertyChanged(nameof(SeparatorWavelength0)); } } private WavelengthModel separatorWavelength1; public WavelengthModel SeparatorWavelength1 { get { return separatorWavelength1; } set { separatorWavelength1 = value; RaisePropertyChanged(nameof(SeparatorWavelength1)); } } private WavelengthModel separatorWavelength2; public WavelengthModel SeparatorWavelength2 { get { return separatorWavelength2; } set { separatorWavelength2 = value; RaisePropertyChanged(nameof(SeparatorWavelength2)); } } private WavelengthModel separatorWavelength3; public WavelengthModel SeparatorWavelength3 { get { return separatorWavelength3; } set { separatorWavelength3 = value; RaisePropertyChanged(nameof(SeparatorWavelength3)); } } public ObservableCollection<WavelengthModel> WavelengthSeparators { get; set; } #endregion #region save/read settings Loading Loading @@ -127,105 +105,34 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts wavelengthSerializableModel.Step, wavelengthSerializableModel.MeasureUnit, "WavelengthLabel".GetText()); switch (index) { case 0: SeparatorWavelength0 = separatorWavelength; break; case 1: SeparatorWavelength1 = separatorWavelength; break; case 2: SeparatorWavelength2 = separatorWavelength; break; case 3: SeparatorWavelength3 = separatorWavelength; break; } System.Diagnostics.Debug.WriteLine($"tryReadWavelengthModel({index})"); addSeparatorWavelengthEventListener(index); addSeparatorWavelength(separatorWavelength); } } #endregion public void addSeparatorWavelength(int index, WavelengthModel wavelength) public void addSeparatorWavelength(WavelengthModel separatorWavelength) { System.Diagnostics.Debug.WriteLine($"addSeparatorWavelength({index})"); switch (index) System.Diagnostics.Debug.WriteLine($"addSeparatorWavelength({separatorWavelength.Index})"); if (!WavelengthSeparators.Any(x => x.Index == separatorWavelength.Index)) { case 0: SeparatorWavelength0 = wavelength; break; case 1: SeparatorWavelength1 = wavelength; break; case 2: SeparatorWavelength2 = wavelength; break; case 3: SeparatorWavelength3 = wavelength; break; WavelengthSeparators.Add(separatorWavelength); addSeparatorWavelengthEventListener(separatorWavelength); } addSeparatorWavelengthEventListener(index); } private void addSeparatorWavelengthEventListener(int index) private void addSeparatorWavelengthEventListener(WavelengthModel wavelength) { switch (index) { case 0: SeparatorWavelength0.PropertyChanged += (s, e) => { WavelengthModel wavelengthModel = s as WavelengthModel; saveWavelengthModel(0, wavelengthModel.CurrentValue, wavelengthModel.SemiRange, wavelengthModel.StepValue, wavelengthModel.MeasureUnit); }; break; case 1: SeparatorWavelength1.PropertyChanged += (s, e) => wavelength.PropertyChanged += (s, e) => { WavelengthModel wavelengthModel = s as WavelengthModel; saveWavelengthModel(1, wavelengthModel.CurrentValue, wavelengthModel.SemiRange, wavelengthModel.StepValue, wavelengthModel.MeasureUnit); saveWavelengthModel(wavelength.Index, wavelengthModel.CurrentValue, wavelengthModel.SemiRange, wavelengthModel.StepValue, wavelengthModel.MeasureUnit); }; break; case 2: SeparatorWavelength2.PropertyChanged += (s, e) => { WavelengthModel wavelengthModel = s as WavelengthModel; saveWavelengthModel(2, wavelengthModel.CurrentValue, wavelengthModel.SemiRange, wavelengthModel.StepValue, wavelengthModel.MeasureUnit); }; break; case 3: SeparatorWavelength3.PropertyChanged += (s, e) => { WavelengthModel wavelengthModel = s as WavelengthModel; saveWavelengthModel(3, wavelengthModel.CurrentValue, wavelengthModel.SemiRange, wavelengthModel.StepValue, wavelengthModel.MeasureUnit); }; break; } } public bool contains(int index) { bool contains = false; switch (index) { case 0: contains = SeparatorWavelength0 != null; break; case 1: contains = SeparatorWavelength1 != null; break; case 2: contains = SeparatorWavelength2 != null; break; case 3: contains = SeparatorWavelength3 != null; break; } return contains; return WavelengthSeparators.Any(x => x.Index == index); } public (double xMin, double xMax) getSelectedSegmentBoundaries(double xLow, double xHigh) Loading @@ -244,10 +151,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts public void switchToMeasureUnit(WavelengthMeasureUnit newMeasureUnit) { SeparatorWavelength0.switchToMeasureUnit(newMeasureUnit); SeparatorWavelength1.switchToMeasureUnit(newMeasureUnit); SeparatorWavelength2.switchToMeasureUnit(newMeasureUnit); SeparatorWavelength3.switchToMeasureUnit(newMeasureUnit); WavelengthSeparators.All(x => { x.switchToMeasureUnit(newMeasureUnit); return true; }); } } }
INAF.Apps.Uwp.SLabDataManager/Constants/Constants.cs +3 −0 Original line number Diff line number Diff line Loading @@ -27,5 +27,8 @@ public static readonly string OUTPUT_SPECTRA_FOLDER_TOKEN = "outputspectrafoldertoken"; public static readonly string INPUT_WHITES_FOLDER = "inputwhitesfolder"; public static readonly string INPUT_WHITES_FOLDER_TOKEN = "inputwhitesfoldertoken"; public static readonly double X_AXIS_MAJOR_STEP_0DOT1 = 0.1; public static readonly double X_AXIS_MAJOR_STEP_100 = 100; } }
INAF.Apps.Uwp.SLabDataManager/Converters/Converters.cs +7 −7 Original line number Diff line number Diff line using INAF.Apps.Uwp.SLabDataManager.Helpers; using INAF.Apps.Uwp.SLabDataManager.Charts; using INAF.Apps.Uwp.SLabDataManager.Helpers; using INAF.Apps.Uwp.SLabDataManager.Models; using INAF.Libraries.NetStandard.Extensions; using Microsoft.Toolkit.Mvvm.DependencyInjection; using System; using System.Collections.Generic; using System.IO; using Telerik.Charting; using Windows.UI.Xaml; using Windows.UI.Xaml.Data; using Windows.UI.Xaml.Media; using Windows.UI.Xaml.Media.Imaging; using static INAF.Apps.Uwp.SLabDataManager.Constants.Enums; using INAF.Apps.Uwp.SLabDataManager.Models; using Microsoft.Toolkit.Mvvm.DependencyInjection; using System.IO; using INAF.Libraries.NetStandard.Extensions; using System.Collections.Generic; using INAF.Libraries.NetStandard.ScienceModels.Spectra; namespace INAF.Apps.Uwp.SLabDataManager.Converters { Loading
INAF.Apps.Uwp.SLabDataManager/Extensions/SpectraContainerExtensions.cs 0 → 100644 +29 −0 Original line number Diff line number Diff line using INAF.Apps.Uwp.SLabDataManager.Charts; using INAF.Libraries.NetStandard.ScienceModels.Spectra; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using static INAF.Libraries.NetStandard.ScienceModels.Enums.Enums; namespace INAF.Apps.Uwp.SLabDataManager.Extensions { public static class SpectraContainerExtensions { public static void AlignRawSpectrumAsync(this SpectraContainer spectraContainer) { SpectrumModel aligningSpectrum = createAligningSpectrum(spectraContainer); } private static SpectrumModel createAligningSpectrum(SpectraContainer spectraContainer) { var aligningSpectrum = (SpectrumModel)spectraContainer.getSpectrumOfType(SpectrumType.Raw).Clone(); aligningSpectrum.setType(SpectrumType.Aligned); aligningSpectrum.updateTitle(); return aligningSpectrum; } } }