Loading INAF.Apps.Uwp.SLabDataManager/App.xaml.cs +1 −1 Original line number Diff line number Diff line Loading @@ -137,7 +137,7 @@ namespace INAF.Apps.Uwp.SLabDataManager .AddSingleton<SettingsHelper>() .AddSingleton<SmoothingBoundariesContainer>() .AddSingleton<SpectraContainer>() .AddSingleton<SpectrumAlignmentConfigModel>() .AddSingleton<AlignmentViewModel>() .AddSingleton<SpectrumChartOptionsModel>() .AddSingleton<StorageItemsSettingsHelper>() .AddSingleton<StorageItemsAccessHelper>() Loading INAF.Apps.Uwp.SLabDataManager/Charts/Containers/SpectraContainer.cs +4 −3 Original line number Diff line number Diff line using INAF.Apps.Uwp.Charts; using INAF.Apps.Uwp.SLabDataManager.Models; using INAF.Apps.Uwp.SLabDataManager.ViewModels.UserControlViewModels; using INAF.Libraries.Uwp.Logging; using Microsoft.Extensions.DependencyInjection; using System; Loading Loading @@ -32,7 +33,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts.Containers switchXAxisMeasureUnit(spectrumChartOptions.SelectedWavelengthMeasureUnit); await Task.Delay(TimeSpan.FromMilliseconds(300)); SpectrumAlignmentConfig.switchToMeasureUnit(spectrumChartOptions.SelectedWavelengthMeasureUnit); AlignmentViewModel.switchToMeasureUnit(spectrumChartOptions.SelectedWavelengthMeasureUnit); SelectedRefBand.switchToMeasureUnit(spectrumChartOptions.SelectedWavelengthMeasureUnit); IsWorkInProgress = false; Loading @@ -41,7 +42,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts.Containers public SelectedRefBand SelectedRefBand { get; protected set; } public SpectrumAlignmentConfigModel SpectrumAlignmentConfig { get; protected set; } public AlignmentViewModel AlignmentViewModel { get; protected set; } public SpectrumType SelectedSpectrumType { get; protected set; } Loading Loading @@ -169,7 +170,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts.Containers { base.init(); SpectrumAlignmentConfig = serviceProvider.GetRequiredService<SpectrumAlignmentConfigModel>(); AlignmentViewModel = serviceProvider.GetRequiredService<AlignmentViewModel>(); SelectedRefBand = serviceProvider.GetRequiredService<SelectedRefBand>(); Loading INAF.Apps.Uwp.SLabDataManager/Helpers/UI/Chart/ChartAnnotationsHelper.cs +2 −2 Original line number Diff line number Diff line Loading @@ -159,7 +159,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart public void createCartesianGridLineAnnotations(RadCartesianChart chart, bool areSeparatorsVisible) { foreach (var separator in workingItems.SpectraContainer.SpectrumAlignmentConfig.WavelengthSeparators) foreach (var separator in workingItems.SpectraContainer.AlignmentViewModel.WavelengthSeparators) chart.Annotations.Add(getAnnotation(chart, separator, areSeparatorsVisible)); chart.UpdateLayout(); Loading @@ -178,7 +178,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart }; annotation.SetBinding(CartesianGridLineAnnotation.ValueProperty, new Binding() { Path = new PropertyPath("CurrentValue"), Source = separator, Mode = BindingMode.OneWay }); annotation.SetBinding(CartesianGridLineAnnotation.LabelProperty, new Binding() { Path = new PropertyPath("CurrentValue"), Source = separator, Mode = BindingMode.OneWay }); annotation.SetBinding(CartesianGridLineAnnotation.VisibilityProperty, new Binding() { Path = new PropertyPath("AreSeparatorsVisible"), Source = workingItems.SpectraContainer.SpectrumAlignmentConfig, Converter = new BoolToVisibilityConverter(), Mode = BindingMode.OneWay }); annotation.SetBinding(CartesianGridLineAnnotation.VisibilityProperty, new Binding() { Path = new PropertyPath("AreSeparatorsVisible"), Source = workingItems.SpectraContainer.AlignmentViewModel, Converter = new BoolToVisibilityConverter(), Mode = BindingMode.OneWay }); return annotation; } #endregion Loading INAF.Apps.Uwp.SLabDataManager/Helpers/UI/Chart/ProcessingHelpers/SpectrumProcessingHelper.cs +16 −15 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ using INAF.Apps.Uwp.SLabDataManager.Extensions; using INAF.Apps.Uwp.SLabDataManager.Models; using INAF.Apps.Uwp.SLabDataManager.Models.Fit; using INAF.Apps.Uwp.SLabDataManager.Models.Processing; using INAF.Apps.Uwp.SLabDataManager.ViewModels.UserControlViewModels; using INAF.Libraries.NetStandard.Math.Fit.Linear; using INAF.Libraries.NetStandard.Math.Fit.Spline; using INAF.Libraries.NetStandard.ScienceModels.Spectra; Loading @@ -21,7 +22,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart.ProcessingHelpers { private readonly IServiceProvider serviceProvider; private readonly LinearFitHelper linearFitHelper; private readonly SpectrumAlignmentConfigModel spectrumAlignmentConfig; private readonly AlignmentViewModel alignmentViewModel; private readonly SelectedRefBand selectedRefBand; private readonly WorkingItemsModel workingItems; private readonly Logger logger; Loading @@ -29,14 +30,14 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart.ProcessingHelpers public SpectrumProcessingHelper(IServiceProvider serviceProvider, LinearFitHelper linearFitHelper, WorkingItemsModel workingItems, SpectrumAlignmentConfigModel spectrumAlignmentConfig, AlignmentViewModel alignmentViewModel, SelectedRefBand selectedRefBand, Logger logger) { this.serviceProvider = serviceProvider; this.linearFitHelper = linearFitHelper; this.workingItems = workingItems; this.spectrumAlignmentConfig = spectrumAlignmentConfig; this.alignmentViewModel = alignmentViewModel; this.selectedRefBand = selectedRefBand; this.logger = logger; } Loading Loading @@ -101,8 +102,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart.ProcessingHelpers } /* retrieve the reference segment and calculate the mean values at the borders of the segment for aligning other segments */ var refLowSeparator = spectrumAlignmentConfig.WavelengthSeparators.FirstOrDefault(x => x.CurrentValue >= selectedRefBand.XMin && x.CurrentValue <= selectedRefBand.XMax); var refHighSeparator = spectrumAlignmentConfig.WavelengthSeparators.FirstOrDefault(x => x.CurrentValue > refLowSeparator.CurrentValue); var refLowSeparator = alignmentViewModel.WavelengthSeparators.FirstOrDefault(x => x.CurrentValue >= selectedRefBand.XMin && x.CurrentValue <= selectedRefBand.XMax); var refHighSeparator = alignmentViewModel.WavelengthSeparators.FirstOrDefault(x => x.CurrentValue > refLowSeparator.CurrentValue); /* create the ref segment, depending on area selected by user */ var refSegment = alignedSpectrum.GetRefSegmentElements(refLowSeparator.CurrentValue, Loading @@ -110,8 +111,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart.ProcessingHelpers refHighSeparator.CurrentValue, getIsXMaxHighestBoundary(refHighSeparator.CurrentValue)); System.Diagnostics.Debug.WriteLine($"refsegment - xmin:{refSegment.FirstOrDefault().X}, xmax:{refSegment.LastOrDefault().X}"); double refSegmentLeftMean = refSegment.GetSegmentLeftMeanValue(spectrumAlignmentConfig.NumOfPointsForAlignment); double refSegmentRightMean = refSegment.GetSegmentRightMeanValue(spectrumAlignmentConfig.NumOfPointsForAlignment); double refSegmentLeftMean = refSegment.GetSegmentLeftMeanValue(alignmentViewModel.NumOfPointsForAlignment); double refSegmentRightMean = refSegment.GetSegmentRightMeanValue(alignmentViewModel.NumOfPointsForAlignment); /* retrieve segments on the left of selected one for later alignment */ alignLeftSide(ref alignedSpectrum, Loading Loading @@ -140,7 +141,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart.ProcessingHelpers WavelengthModel refLowSeparator, double refSegmentLeftMean) { var leftSeparators = spectrumAlignmentConfig.WavelengthSeparators var leftSeparators = alignmentViewModel.WavelengthSeparators .Where(x => x.MinValue < refLowSeparator.MinValue) .OrderByDescending(x => x.MinValue); Loading @@ -151,10 +152,10 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart.ProcessingHelpers { var elements = aligningSpectrum .GetLeftSegmentElements(leftSeparator.CurrentValue, getIsXMinLowestBoundary(leftSeparator.CurrentValue), rightSeparatorCurrentValue, getIsXMaxHighestBoundary(rightSeparatorCurrentValue)) .FixLeftSegment(refLeftValue, spectrumAlignmentConfig.NumOfPointsForAlignment); .FixLeftSegment(refLeftValue, alignmentViewModel.NumOfPointsForAlignment); rightSeparatorCurrentValue = leftSeparator.CurrentValue; refLeftValue = elements.GetSegmentLeftMeanValue(spectrumAlignmentConfig.NumOfPointsForAlignment); refLeftValue = elements.GetSegmentLeftMeanValue(alignmentViewModel.NumOfPointsForAlignment); } } Loading @@ -162,7 +163,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart.ProcessingHelpers WavelengthModel refHighSeparator, double refSegmentRightMean) { var rightSeparators = spectrumAlignmentConfig.WavelengthSeparators var rightSeparators = alignmentViewModel.WavelengthSeparators .Where(x => x.MinValue > refHighSeparator.MinValue); double leftSeparatorCurrentValue = refHighSeparator.CurrentValue; Loading @@ -172,21 +173,21 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart.ProcessingHelpers { var elements = aligningSpectrum .GetRightSegmentElements(leftSeparatorCurrentValue, getIsXMinLowestBoundary(leftSeparatorCurrentValue), rightSeparator.CurrentValue, getIsXMaxHighestBoundary(rightSeparator.CurrentValue)) .FixRightSegment(refRightValue, spectrumAlignmentConfig.NumOfPointsForAlignment); .FixRightSegment(refRightValue, alignmentViewModel.NumOfPointsForAlignment); leftSeparatorCurrentValue = rightSeparator.CurrentValue; refRightValue = elements.GetSegmentRightMeanValue(spectrumAlignmentConfig.NumOfPointsForAlignment); refRightValue = elements.GetSegmentRightMeanValue(alignmentViewModel.NumOfPointsForAlignment); } } private bool getIsXMinLowestBoundary(double currentValue) { return currentValue == spectrumAlignmentConfig.WavelengthSeparators.FirstOrDefault().CurrentValue; return currentValue == alignmentViewModel.WavelengthSeparators.FirstOrDefault().CurrentValue; } private bool getIsXMaxHighestBoundary(double currentValue) { return currentValue == spectrumAlignmentConfig.WavelengthSeparators.LastOrDefault().CurrentValue; return currentValue == alignmentViewModel.WavelengthSeparators.LastOrDefault().CurrentValue; } private void multiplyByRef(ref SpectrumModel aligningSpectrum, Loading INAF.Apps.Uwp.SLabDataManager/Helpers/XmlReaders/ConfigReader.cs +8 −8 Original line number Diff line number Diff line using INAF.Apps.Uwp.SLabDataManager.Charts; using INAF.Apps.Uwp.SLabDataManager.ViewModels.UserControlViewModels; using INAF.Libraries.NetStandard.Extensions; using INAF.Libraries.NetStandard.ScienceModels.Spectra; using INAF.Libraries.Uwp.Logging; using INAF.Libraries.Uwp.Xml; Loading @@ -6,20 +7,19 @@ using System; using System.Threading.Tasks; using Windows.Data.Xml.Dom; using Windows.Storage; using INAF.Libraries.NetStandard.Extensions; namespace INAF.Apps.Uwp.SLabDataManager.Helpers.XmlReaders { public sealed class ConfigReader : XmlReader { private readonly SpectrumAlignmentConfigModel alignmentConfig; private readonly AlignmentViewModel alignmentViewModel; public ConfigReader(IServiceProvider serviceProvider, SpectrumAlignmentConfigModel alignmentConfigModel, AlignmentViewModel alignmentViewModel, XmlHelper xmlHelper, Logger logger) : base(serviceProvider, xmlHelper, logger) { this.alignmentConfig = alignmentConfigModel; this.alignmentViewModel = alignmentViewModel; } public override async Task readFileAsync() Loading Loading @@ -56,13 +56,13 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.XmlReaders string _measureUnit = getNodeContent(node, "measureUnit"); int measureUnit = _measureUnit.ToIntInvariant(); if (!alignmentConfig.contains(index)) alignmentConfig.addSeparatorWavelength(new WavelengthModel(index, currentValue, semiRange, step, measureUnit, "WavelengthLabel".GetText())); if (!alignmentViewModel.contains(index)) alignmentViewModel.addSeparatorWavelength(new WavelengthModel(index, currentValue, semiRange, step, measureUnit, "WavelengthLabel".GetText())); index++; } alignmentConfig.orderSeparators(); alignmentViewModel.orderSeparators(); } catch (Exception ex) { Loading Loading
INAF.Apps.Uwp.SLabDataManager/App.xaml.cs +1 −1 Original line number Diff line number Diff line Loading @@ -137,7 +137,7 @@ namespace INAF.Apps.Uwp.SLabDataManager .AddSingleton<SettingsHelper>() .AddSingleton<SmoothingBoundariesContainer>() .AddSingleton<SpectraContainer>() .AddSingleton<SpectrumAlignmentConfigModel>() .AddSingleton<AlignmentViewModel>() .AddSingleton<SpectrumChartOptionsModel>() .AddSingleton<StorageItemsSettingsHelper>() .AddSingleton<StorageItemsAccessHelper>() Loading
INAF.Apps.Uwp.SLabDataManager/Charts/Containers/SpectraContainer.cs +4 −3 Original line number Diff line number Diff line using INAF.Apps.Uwp.Charts; using INAF.Apps.Uwp.SLabDataManager.Models; using INAF.Apps.Uwp.SLabDataManager.ViewModels.UserControlViewModels; using INAF.Libraries.Uwp.Logging; using Microsoft.Extensions.DependencyInjection; using System; Loading Loading @@ -32,7 +33,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts.Containers switchXAxisMeasureUnit(spectrumChartOptions.SelectedWavelengthMeasureUnit); await Task.Delay(TimeSpan.FromMilliseconds(300)); SpectrumAlignmentConfig.switchToMeasureUnit(spectrumChartOptions.SelectedWavelengthMeasureUnit); AlignmentViewModel.switchToMeasureUnit(spectrumChartOptions.SelectedWavelengthMeasureUnit); SelectedRefBand.switchToMeasureUnit(spectrumChartOptions.SelectedWavelengthMeasureUnit); IsWorkInProgress = false; Loading @@ -41,7 +42,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts.Containers public SelectedRefBand SelectedRefBand { get; protected set; } public SpectrumAlignmentConfigModel SpectrumAlignmentConfig { get; protected set; } public AlignmentViewModel AlignmentViewModel { get; protected set; } public SpectrumType SelectedSpectrumType { get; protected set; } Loading Loading @@ -169,7 +170,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts.Containers { base.init(); SpectrumAlignmentConfig = serviceProvider.GetRequiredService<SpectrumAlignmentConfigModel>(); AlignmentViewModel = serviceProvider.GetRequiredService<AlignmentViewModel>(); SelectedRefBand = serviceProvider.GetRequiredService<SelectedRefBand>(); Loading
INAF.Apps.Uwp.SLabDataManager/Helpers/UI/Chart/ChartAnnotationsHelper.cs +2 −2 Original line number Diff line number Diff line Loading @@ -159,7 +159,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart public void createCartesianGridLineAnnotations(RadCartesianChart chart, bool areSeparatorsVisible) { foreach (var separator in workingItems.SpectraContainer.SpectrumAlignmentConfig.WavelengthSeparators) foreach (var separator in workingItems.SpectraContainer.AlignmentViewModel.WavelengthSeparators) chart.Annotations.Add(getAnnotation(chart, separator, areSeparatorsVisible)); chart.UpdateLayout(); Loading @@ -178,7 +178,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart }; annotation.SetBinding(CartesianGridLineAnnotation.ValueProperty, new Binding() { Path = new PropertyPath("CurrentValue"), Source = separator, Mode = BindingMode.OneWay }); annotation.SetBinding(CartesianGridLineAnnotation.LabelProperty, new Binding() { Path = new PropertyPath("CurrentValue"), Source = separator, Mode = BindingMode.OneWay }); annotation.SetBinding(CartesianGridLineAnnotation.VisibilityProperty, new Binding() { Path = new PropertyPath("AreSeparatorsVisible"), Source = workingItems.SpectraContainer.SpectrumAlignmentConfig, Converter = new BoolToVisibilityConverter(), Mode = BindingMode.OneWay }); annotation.SetBinding(CartesianGridLineAnnotation.VisibilityProperty, new Binding() { Path = new PropertyPath("AreSeparatorsVisible"), Source = workingItems.SpectraContainer.AlignmentViewModel, Converter = new BoolToVisibilityConverter(), Mode = BindingMode.OneWay }); return annotation; } #endregion Loading
INAF.Apps.Uwp.SLabDataManager/Helpers/UI/Chart/ProcessingHelpers/SpectrumProcessingHelper.cs +16 −15 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ using INAF.Apps.Uwp.SLabDataManager.Extensions; using INAF.Apps.Uwp.SLabDataManager.Models; using INAF.Apps.Uwp.SLabDataManager.Models.Fit; using INAF.Apps.Uwp.SLabDataManager.Models.Processing; using INAF.Apps.Uwp.SLabDataManager.ViewModels.UserControlViewModels; using INAF.Libraries.NetStandard.Math.Fit.Linear; using INAF.Libraries.NetStandard.Math.Fit.Spline; using INAF.Libraries.NetStandard.ScienceModels.Spectra; Loading @@ -21,7 +22,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart.ProcessingHelpers { private readonly IServiceProvider serviceProvider; private readonly LinearFitHelper linearFitHelper; private readonly SpectrumAlignmentConfigModel spectrumAlignmentConfig; private readonly AlignmentViewModel alignmentViewModel; private readonly SelectedRefBand selectedRefBand; private readonly WorkingItemsModel workingItems; private readonly Logger logger; Loading @@ -29,14 +30,14 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart.ProcessingHelpers public SpectrumProcessingHelper(IServiceProvider serviceProvider, LinearFitHelper linearFitHelper, WorkingItemsModel workingItems, SpectrumAlignmentConfigModel spectrumAlignmentConfig, AlignmentViewModel alignmentViewModel, SelectedRefBand selectedRefBand, Logger logger) { this.serviceProvider = serviceProvider; this.linearFitHelper = linearFitHelper; this.workingItems = workingItems; this.spectrumAlignmentConfig = spectrumAlignmentConfig; this.alignmentViewModel = alignmentViewModel; this.selectedRefBand = selectedRefBand; this.logger = logger; } Loading Loading @@ -101,8 +102,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart.ProcessingHelpers } /* retrieve the reference segment and calculate the mean values at the borders of the segment for aligning other segments */ var refLowSeparator = spectrumAlignmentConfig.WavelengthSeparators.FirstOrDefault(x => x.CurrentValue >= selectedRefBand.XMin && x.CurrentValue <= selectedRefBand.XMax); var refHighSeparator = spectrumAlignmentConfig.WavelengthSeparators.FirstOrDefault(x => x.CurrentValue > refLowSeparator.CurrentValue); var refLowSeparator = alignmentViewModel.WavelengthSeparators.FirstOrDefault(x => x.CurrentValue >= selectedRefBand.XMin && x.CurrentValue <= selectedRefBand.XMax); var refHighSeparator = alignmentViewModel.WavelengthSeparators.FirstOrDefault(x => x.CurrentValue > refLowSeparator.CurrentValue); /* create the ref segment, depending on area selected by user */ var refSegment = alignedSpectrum.GetRefSegmentElements(refLowSeparator.CurrentValue, Loading @@ -110,8 +111,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart.ProcessingHelpers refHighSeparator.CurrentValue, getIsXMaxHighestBoundary(refHighSeparator.CurrentValue)); System.Diagnostics.Debug.WriteLine($"refsegment - xmin:{refSegment.FirstOrDefault().X}, xmax:{refSegment.LastOrDefault().X}"); double refSegmentLeftMean = refSegment.GetSegmentLeftMeanValue(spectrumAlignmentConfig.NumOfPointsForAlignment); double refSegmentRightMean = refSegment.GetSegmentRightMeanValue(spectrumAlignmentConfig.NumOfPointsForAlignment); double refSegmentLeftMean = refSegment.GetSegmentLeftMeanValue(alignmentViewModel.NumOfPointsForAlignment); double refSegmentRightMean = refSegment.GetSegmentRightMeanValue(alignmentViewModel.NumOfPointsForAlignment); /* retrieve segments on the left of selected one for later alignment */ alignLeftSide(ref alignedSpectrum, Loading Loading @@ -140,7 +141,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart.ProcessingHelpers WavelengthModel refLowSeparator, double refSegmentLeftMean) { var leftSeparators = spectrumAlignmentConfig.WavelengthSeparators var leftSeparators = alignmentViewModel.WavelengthSeparators .Where(x => x.MinValue < refLowSeparator.MinValue) .OrderByDescending(x => x.MinValue); Loading @@ -151,10 +152,10 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart.ProcessingHelpers { var elements = aligningSpectrum .GetLeftSegmentElements(leftSeparator.CurrentValue, getIsXMinLowestBoundary(leftSeparator.CurrentValue), rightSeparatorCurrentValue, getIsXMaxHighestBoundary(rightSeparatorCurrentValue)) .FixLeftSegment(refLeftValue, spectrumAlignmentConfig.NumOfPointsForAlignment); .FixLeftSegment(refLeftValue, alignmentViewModel.NumOfPointsForAlignment); rightSeparatorCurrentValue = leftSeparator.CurrentValue; refLeftValue = elements.GetSegmentLeftMeanValue(spectrumAlignmentConfig.NumOfPointsForAlignment); refLeftValue = elements.GetSegmentLeftMeanValue(alignmentViewModel.NumOfPointsForAlignment); } } Loading @@ -162,7 +163,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart.ProcessingHelpers WavelengthModel refHighSeparator, double refSegmentRightMean) { var rightSeparators = spectrumAlignmentConfig.WavelengthSeparators var rightSeparators = alignmentViewModel.WavelengthSeparators .Where(x => x.MinValue > refHighSeparator.MinValue); double leftSeparatorCurrentValue = refHighSeparator.CurrentValue; Loading @@ -172,21 +173,21 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart.ProcessingHelpers { var elements = aligningSpectrum .GetRightSegmentElements(leftSeparatorCurrentValue, getIsXMinLowestBoundary(leftSeparatorCurrentValue), rightSeparator.CurrentValue, getIsXMaxHighestBoundary(rightSeparator.CurrentValue)) .FixRightSegment(refRightValue, spectrumAlignmentConfig.NumOfPointsForAlignment); .FixRightSegment(refRightValue, alignmentViewModel.NumOfPointsForAlignment); leftSeparatorCurrentValue = rightSeparator.CurrentValue; refRightValue = elements.GetSegmentRightMeanValue(spectrumAlignmentConfig.NumOfPointsForAlignment); refRightValue = elements.GetSegmentRightMeanValue(alignmentViewModel.NumOfPointsForAlignment); } } private bool getIsXMinLowestBoundary(double currentValue) { return currentValue == spectrumAlignmentConfig.WavelengthSeparators.FirstOrDefault().CurrentValue; return currentValue == alignmentViewModel.WavelengthSeparators.FirstOrDefault().CurrentValue; } private bool getIsXMaxHighestBoundary(double currentValue) { return currentValue == spectrumAlignmentConfig.WavelengthSeparators.LastOrDefault().CurrentValue; return currentValue == alignmentViewModel.WavelengthSeparators.LastOrDefault().CurrentValue; } private void multiplyByRef(ref SpectrumModel aligningSpectrum, Loading
INAF.Apps.Uwp.SLabDataManager/Helpers/XmlReaders/ConfigReader.cs +8 −8 Original line number Diff line number Diff line using INAF.Apps.Uwp.SLabDataManager.Charts; using INAF.Apps.Uwp.SLabDataManager.ViewModels.UserControlViewModels; using INAF.Libraries.NetStandard.Extensions; using INAF.Libraries.NetStandard.ScienceModels.Spectra; using INAF.Libraries.Uwp.Logging; using INAF.Libraries.Uwp.Xml; Loading @@ -6,20 +7,19 @@ using System; using System.Threading.Tasks; using Windows.Data.Xml.Dom; using Windows.Storage; using INAF.Libraries.NetStandard.Extensions; namespace INAF.Apps.Uwp.SLabDataManager.Helpers.XmlReaders { public sealed class ConfigReader : XmlReader { private readonly SpectrumAlignmentConfigModel alignmentConfig; private readonly AlignmentViewModel alignmentViewModel; public ConfigReader(IServiceProvider serviceProvider, SpectrumAlignmentConfigModel alignmentConfigModel, AlignmentViewModel alignmentViewModel, XmlHelper xmlHelper, Logger logger) : base(serviceProvider, xmlHelper, logger) { this.alignmentConfig = alignmentConfigModel; this.alignmentViewModel = alignmentViewModel; } public override async Task readFileAsync() Loading Loading @@ -56,13 +56,13 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.XmlReaders string _measureUnit = getNodeContent(node, "measureUnit"); int measureUnit = _measureUnit.ToIntInvariant(); if (!alignmentConfig.contains(index)) alignmentConfig.addSeparatorWavelength(new WavelengthModel(index, currentValue, semiRange, step, measureUnit, "WavelengthLabel".GetText())); if (!alignmentViewModel.contains(index)) alignmentViewModel.addSeparatorWavelength(new WavelengthModel(index, currentValue, semiRange, step, measureUnit, "WavelengthLabel".GetText())); index++; } alignmentConfig.orderSeparators(); alignmentViewModel.orderSeparators(); } catch (Exception ex) { Loading