Loading INAF.Apps.Uwp.SLabDataManager/Charts/SpectrumChartOptionsModel.cs +0 −2 Original line number Diff line number Diff line Loading @@ -41,8 +41,6 @@ namespace INAF.Apps.Uwp.Charts SelectedChartZoomMode = ChartPanZoomMode.Both; } public string Filename { get; set; } #region MajorLinesVisibility private List<GridLineVisibility> majorLinesVisibilityValues; public List<GridLineVisibility> MajorLinesVisibilityValues Loading INAF.Apps.Uwp.SLabDataManager/Helpers/SpectrumManipulationHelper.cs +49 −26 Original line number Diff line number Diff line Loading @@ -28,27 +28,35 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers public async Task alignRawSpectrumAsync() { double level0 = 0d; double level1 = 0d; double level10 = 0d; double level11 = 0d; double level2 = 0d; List<Task> tasks = new List<Task>(); tasks.Add(Task.Run(() => { level0 = getSliceLevel(RawSpectrum.Elements, level0 = getSliceLevelAtEnd(RawSpectrum.Elements, SpectrumAlignmentConfig.SeparatorWavelength0.CurrentValue, SpectrumAlignmentConfig.SeparatorWavelength1.CurrentValue, SpectrumAlignmentConfig.NumOfPointsForAlignment); })); tasks.Add(Task.Run(() => { level1 = getSliceLevel(RawSpectrum.Elements, level10 = getSliceLevelAtBeginning(RawSpectrum.Elements, SpectrumAlignmentConfig.SeparatorWavelength1.CurrentValue, SpectrumAlignmentConfig.SeparatorWavelength2.CurrentValue, SpectrumAlignmentConfig.NumOfPointsForAlignment); })); tasks.Add(Task.Run(() => { level2 = getSliceLevel(RawSpectrum.Elements, level11 = getSliceLevelAtEnd(RawSpectrum.Elements, SpectrumAlignmentConfig.SeparatorWavelength1.CurrentValue, SpectrumAlignmentConfig.SeparatorWavelength2.CurrentValue, SpectrumAlignmentConfig.NumOfPointsForAlignment); })); tasks.Add(Task.Run(() => { level2 = getSliceLevelAtBeginning(RawSpectrum.Elements, SpectrumAlignmentConfig.SeparatorWavelength2.CurrentValue, SpectrumAlignmentConfig.SeparatorWavelength3.CurrentValue, SpectrumAlignmentConfig.NumOfPointsForAlignment); Loading @@ -56,8 +64,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers await Task.WhenAll(tasks); double diff10 = level1 - level0; double diff12 = level1 - level2; double diff10 = level10 - level0; double diff12 = level11 - level2; UpdateUIHelper.UpdateUIAsync(() => { Loading @@ -67,20 +75,35 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers diff10); fixSpectrumSlice(RawSpectrum.Elements, SpectrumAlignmentConfig.SeparatorWavelength1.CurrentValue, SpectrumAlignmentConfig.SeparatorWavelength2.CurrentValue, SpectrumAlignmentConfig.SeparatorWavelength3.CurrentValue, diff12); }); } private double getSliceLevel(IEnumerable<ElementModel> source, private double getSliceLevelAtBeginning(IEnumerable<ElementModel> source, double lowLimit, double highLimit, int numOfPoints) { var slice = source.Where(x => x.X >= lowLimit && x.X <= highLimit); var points = slice .Take(numOfPoints); return points.Average(x => x.Y); } private double getSliceLevelAtEnd(IEnumerable<ElementModel> source, double lowLimit, double highLimit, int numOfPoints) { var slice = source.Where(x => x.X >= lowLimit && x.X <= highLimit); var points = slice.Skip(slice.Count() - numOfPoints).Take(numOfPoints); var points = slice .Skip(slice.Count() - numOfPoints) .Take(numOfPoints); return points.Average(x => x.Y); } Loading @@ -90,8 +113,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers double highLimit, double diff) { RawSpectrum.Elements. Where(x => x.X >= lowLimit && x.X <= highLimit) RawSpectrum.Elements .Where(x => x.X >= lowLimit && x.X <= highLimit) .All(x => { x.addToY(diff); return true; }); } } Loading INAF.Apps.Uwp.SLabDataManager/Helpers/SpectrumReader.cs +1 −1 Original line number Diff line number Diff line Loading @@ -89,7 +89,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers { spectrum = new SpectrumModel(spectrumType) { Filename = file.DisplayName Title = file.DisplayName }; int linesNum = lines.Count; Loading INAF.Apps.Uwp.SLabDataManager/Helpers/UI/CustomContainerVisualFactory.cs 0 → 100644 +12 −0 Original line number Diff line number Diff line using Telerik.UI.Xaml.Controls.Chart; namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI { public class CustomContainerVisualFactory : ContainerVisualsFactory { protected override bool CanDrawContainerVisual(PresenterBase visualElement) { return false; } } } INAF.Apps.Uwp.SLabDataManager/INAF.Apps.Uwp.SLabDataManager.csproj +1 −0 Original line number Diff line number Diff line Loading @@ -163,6 +163,7 @@ <Compile Include="Helpers\SettingsStorageExtensions.cs" /> <Compile Include="Helpers\SpectrumManipulationHelper.cs" /> <Compile Include="Helpers\SpectrumReader.cs" /> <Compile Include="Helpers\UI\CustomContainerVisualFactory.cs" /> <Compile Include="Helpers\UI\TextBoxInputManager.cs" /> <Compile Include="Helpers\UpdateUIHelper.cs" /> <Compile Include="Charts\SpectrumAlignmentConfigModel.cs" /> Loading Loading
INAF.Apps.Uwp.SLabDataManager/Charts/SpectrumChartOptionsModel.cs +0 −2 Original line number Diff line number Diff line Loading @@ -41,8 +41,6 @@ namespace INAF.Apps.Uwp.Charts SelectedChartZoomMode = ChartPanZoomMode.Both; } public string Filename { get; set; } #region MajorLinesVisibility private List<GridLineVisibility> majorLinesVisibilityValues; public List<GridLineVisibility> MajorLinesVisibilityValues Loading
INAF.Apps.Uwp.SLabDataManager/Helpers/SpectrumManipulationHelper.cs +49 −26 Original line number Diff line number Diff line Loading @@ -28,27 +28,35 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers public async Task alignRawSpectrumAsync() { double level0 = 0d; double level1 = 0d; double level10 = 0d; double level11 = 0d; double level2 = 0d; List<Task> tasks = new List<Task>(); tasks.Add(Task.Run(() => { level0 = getSliceLevel(RawSpectrum.Elements, level0 = getSliceLevelAtEnd(RawSpectrum.Elements, SpectrumAlignmentConfig.SeparatorWavelength0.CurrentValue, SpectrumAlignmentConfig.SeparatorWavelength1.CurrentValue, SpectrumAlignmentConfig.NumOfPointsForAlignment); })); tasks.Add(Task.Run(() => { level1 = getSliceLevel(RawSpectrum.Elements, level10 = getSliceLevelAtBeginning(RawSpectrum.Elements, SpectrumAlignmentConfig.SeparatorWavelength1.CurrentValue, SpectrumAlignmentConfig.SeparatorWavelength2.CurrentValue, SpectrumAlignmentConfig.NumOfPointsForAlignment); })); tasks.Add(Task.Run(() => { level2 = getSliceLevel(RawSpectrum.Elements, level11 = getSliceLevelAtEnd(RawSpectrum.Elements, SpectrumAlignmentConfig.SeparatorWavelength1.CurrentValue, SpectrumAlignmentConfig.SeparatorWavelength2.CurrentValue, SpectrumAlignmentConfig.NumOfPointsForAlignment); })); tasks.Add(Task.Run(() => { level2 = getSliceLevelAtBeginning(RawSpectrum.Elements, SpectrumAlignmentConfig.SeparatorWavelength2.CurrentValue, SpectrumAlignmentConfig.SeparatorWavelength3.CurrentValue, SpectrumAlignmentConfig.NumOfPointsForAlignment); Loading @@ -56,8 +64,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers await Task.WhenAll(tasks); double diff10 = level1 - level0; double diff12 = level1 - level2; double diff10 = level10 - level0; double diff12 = level11 - level2; UpdateUIHelper.UpdateUIAsync(() => { Loading @@ -67,20 +75,35 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers diff10); fixSpectrumSlice(RawSpectrum.Elements, SpectrumAlignmentConfig.SeparatorWavelength1.CurrentValue, SpectrumAlignmentConfig.SeparatorWavelength2.CurrentValue, SpectrumAlignmentConfig.SeparatorWavelength3.CurrentValue, diff12); }); } private double getSliceLevel(IEnumerable<ElementModel> source, private double getSliceLevelAtBeginning(IEnumerable<ElementModel> source, double lowLimit, double highLimit, int numOfPoints) { var slice = source.Where(x => x.X >= lowLimit && x.X <= highLimit); var points = slice .Take(numOfPoints); return points.Average(x => x.Y); } private double getSliceLevelAtEnd(IEnumerable<ElementModel> source, double lowLimit, double highLimit, int numOfPoints) { var slice = source.Where(x => x.X >= lowLimit && x.X <= highLimit); var points = slice.Skip(slice.Count() - numOfPoints).Take(numOfPoints); var points = slice .Skip(slice.Count() - numOfPoints) .Take(numOfPoints); return points.Average(x => x.Y); } Loading @@ -90,8 +113,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers double highLimit, double diff) { RawSpectrum.Elements. Where(x => x.X >= lowLimit && x.X <= highLimit) RawSpectrum.Elements .Where(x => x.X >= lowLimit && x.X <= highLimit) .All(x => { x.addToY(diff); return true; }); } } Loading
INAF.Apps.Uwp.SLabDataManager/Helpers/SpectrumReader.cs +1 −1 Original line number Diff line number Diff line Loading @@ -89,7 +89,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers { spectrum = new SpectrumModel(spectrumType) { Filename = file.DisplayName Title = file.DisplayName }; int linesNum = lines.Count; Loading
INAF.Apps.Uwp.SLabDataManager/Helpers/UI/CustomContainerVisualFactory.cs 0 → 100644 +12 −0 Original line number Diff line number Diff line using Telerik.UI.Xaml.Controls.Chart; namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI { public class CustomContainerVisualFactory : ContainerVisualsFactory { protected override bool CanDrawContainerVisual(PresenterBase visualElement) { return false; } } }
INAF.Apps.Uwp.SLabDataManager/INAF.Apps.Uwp.SLabDataManager.csproj +1 −0 Original line number Diff line number Diff line Loading @@ -163,6 +163,7 @@ <Compile Include="Helpers\SettingsStorageExtensions.cs" /> <Compile Include="Helpers\SpectrumManipulationHelper.cs" /> <Compile Include="Helpers\SpectrumReader.cs" /> <Compile Include="Helpers\UI\CustomContainerVisualFactory.cs" /> <Compile Include="Helpers\UI\TextBoxInputManager.cs" /> <Compile Include="Helpers\UpdateUIHelper.cs" /> <Compile Include="Charts\SpectrumAlignmentConfigModel.cs" /> Loading