├── .editorconfig
├── .gitignore
├── README.md
├── Setup
└── Setup
│ ├── Config.wxi
│ ├── InstallerBanner.png
│ ├── InstallerBkg.png
│ ├── Libs.wxs
│ ├── License.rtf
│ ├── Product.wxs
│ ├── Resources.wxs
│ ├── Setup.wixproj
│ ├── Viana.wxs
│ └── en-US.wxl
├── VianaNET.sln
├── VianaNET.sln.DotSettings.user
└── VianaNET
├── App.xaml
├── App.xaml.cs
├── Application
├── ExtensionMethods.cs
├── Project.cs
├── ProjectEntry.cs
└── RecentFiles.cs
├── CustomStyles
├── Colors
│ ├── ColorType.cs
│ ├── Coloration.cs
│ ├── ConvertColor.cs
│ ├── HSXColor.cs
│ ├── OfficeColor.cs
│ ├── OfficeColorPallet.cs
│ ├── OfficeColors.cs
│ └── OfficePallet.cs
├── Controls
│ ├── Arc.cs
│ ├── Arrow.cs
│ ├── ArrowPointer.cs
│ ├── CoordinateSystem.xaml
│ ├── CoordinateSystem.xaml.cs
│ ├── DualTextBox.xaml
│ ├── DualTextBox.xaml.cs
│ ├── ImageButton.xaml
│ ├── ImageButton.xaml.cs
│ ├── ImageButtonPallet.cs
│ ├── LabeledSlider.xaml
│ ├── LabeledSlider.xaml.cs
│ ├── LabeledTextBox.xaml
│ ├── LabeledTextBox.xaml.cs
│ ├── LineStyleControl.xaml
│ ├── LineStyleControl.xaml.cs
│ ├── MediaSlider.xaml
│ ├── MediaSlider.xaml.cs
│ ├── MediaSliderControl.xaml
│ ├── MediaSliderControl.xaml.cs
│ ├── NumericUpDown.xaml
│ ├── NumericUpDown.xaml.cs
│ ├── Slider.xaml
│ ├── SliderValue.xaml
│ ├── SliderValue.xaml.cs
│ ├── VianaTickBar.cs
│ └── VisualContainerElement.cs
├── Converter
│ ├── AberrationDoubleToStringConverter.cs
│ ├── Converter.xaml
│ ├── DSTimeToMillisecondsConverter.cs
│ ├── DoubleToStringConverter.cs
│ ├── InverseBooleanToVisibilityConverter.cs
│ ├── LineStyleToBooleanConverter.cs
│ ├── NumberOfObjectsToVisibilityConverter.cs
│ ├── PercentToDoubleConverter.cs
│ ├── PlusOneConverter.cs
│ ├── RulerUnitStringConverter.cs
│ └── UnitDoubleStringConverter.cs
├── Cursors
│ ├── CursorMinus.cur
│ └── CursorPlus.cur
├── FontAwesome
│ ├── AwesomeFontType.cs
│ ├── Icon.cs
│ ├── IconBlock.cs
│ ├── IconChar.cs
│ ├── IconChar.tt
│ ├── IconHelper.cs
│ ├── IconSource.cs
│ └── fontawesome-all.css
├── Styles
│ ├── BackgroundStyles.xaml
│ ├── DataGridStyle.xaml
│ ├── EnumStyles.xaml
│ ├── GeometryItems.xaml
│ ├── OfficeColors.xaml
│ ├── SliderStyles.xaml
│ ├── SliderStyles.xaml.cs
│ ├── TextBoxStyles.xaml
│ └── VianaStyle.xaml
├── Types
│ ├── AxisType.cs
│ ├── CameraDevice.cs
│ ├── ChartType.cs
│ ├── CursorcolorType.cs
│ ├── DictionaryProxy.cs
│ ├── DifferenceQuotientType.cs
│ ├── DoubleUtilities.cs
│ ├── LengthUnit.cs
│ ├── MeasurementType.cs
│ ├── QuestionResult.cs
│ ├── SortedCollection.cs
│ ├── SortedObservableCollection.cs
│ ├── TimeUnit.cs
│ ├── TrackObject.cs
│ ├── UiServices.cs
│ └── VideoMode.cs
└── Validation
│ └── NumberValidationRule.cs
├── Data
├── CalibrationData.cs
├── ChartData.cs
├── Collections
│ ├── DataAxes.cs
│ ├── DataCharts.cs
│ ├── DataCollection.cs
│ ├── DataSample.cs
│ ├── TimeSample.cs
│ └── XYSample.cs
├── Filter
│ ├── FilterBase.cs
│ ├── FilterData.cs
│ ├── Interpolation
│ │ ├── ExponentialSmoothControl.xaml
│ │ ├── ExponentialSmoothControl.xaml.cs
│ │ ├── ExponentialSmoothFilter.cs
│ │ ├── InterpolationFilter.cs
│ │ ├── InterpolationFilterTypes.cs
│ │ ├── InterpolationOptionsDialog.xaml
│ │ ├── InterpolationOptionsDialog.xaml.cs
│ │ ├── MovingAverageFilter.cs
│ │ ├── MovingAverageUserControl.xaml
│ │ └── MovingAverageUserControl.xaml.cs
│ ├── LineOptionsDialog.xaml
│ ├── LineOptionsDialog.xaml.cs
│ ├── NumericalPrecisionDialog.xaml
│ ├── NumericalPrecisionDialog.xaml.cs
│ ├── Regression
│ │ ├── MatrixLibrary.cs
│ │ ├── RegressionFilter.cs
│ │ ├── RegressionOptionsDialog.xaml
│ │ ├── RegressionOptionsDialog.xaml.cs
│ │ └── RegressionType.cs
│ └── Theory
│ │ ├── CalculatorAndFktEditor.xaml
│ │ ├── CalculatorAndFktEditor.xaml.cs
│ │ ├── FunctionCalcTree.cs
│ │ ├── Parser.cs
│ │ └── TheoryFilter.cs
├── ProcessingData.cs
└── VideoData.cs
├── Fonts
├── FontAwesome5Brands-Regular-400.otf
├── FontAwesome5Pro-Light-300.otf
├── FontAwesome5Pro-Regular-400.otf
└── FontAwesome5Pro-Solid-900.otf
├── Images
├── Analyse16.png
├── Analyse32.png
├── Angle16.png
├── Angle32.png
├── AutomaticDataAquisition16.png
├── AutomaticDataAquisition32.png
├── AutomaticDataAquisitionStop16.png
├── AutomaticDataAquisitionStop32.png
├── Calibrate16.png
├── Calibrate32.png
├── Capture16.png
├── Capture32.png
├── Chart16.png
├── Chart32.png
├── ChartTypeArea16.png
├── ChartTypeArea32.png
├── ChartTypeBubble16.png
├── ChartTypeBubble32.png
├── ChartTypeColumn16.png
├── ChartTypeColumn32.png
├── ChartTypeLine16.png
├── ChartTypeLine32.png
├── ChartTypePie16.png
├── ChartTypePie32.png
├── ChartTypeXYScatter16.png
├── ChartTypeXYScatter32.png
├── ClipVideo16.png
├── ClipVideo32.png
├── Close16.png
├── Close32.png
├── Color32.png
├── ColorDetection16.png
├── ColorDetection32.png
├── ColorReset32.png
├── CoordinateSystem16.png
├── CoordinateSystem32.png
├── DataDelete16.png
├── DataDelete32.png
├── Datagrid16.png
├── Datagrid32.png
├── DifferenceQuotient16.png
├── DifferenceQuotient32.png
├── DownArrow.png
├── Exit32.png
├── ExportChart32.png
├── ExportChartToClipboard16.png
├── ExportChartToClipboard32.png
├── ExportChartToFile16.png
├── ExportChartToFile32.png
├── ExportChartToWord16.png
├── ExportChartToWord32.png
├── ExportData32.png
├── ExportToCsv16.png
├── ExportToCsv32.png
├── ExportToOds16.png
├── ExportToOds32.png
├── ExportToTxt16.png
├── ExportToTxt32.png
├── ExportToXls16.png
├── ExportToXls32.png
├── ExportToXml16.png
├── ExportToXml32.png
├── FileOpen16.png
├── FileOpen32.png
├── Help16.png
├── Help32.png
├── InstallerBanner.jpg
├── InstallerBanner.psd
├── InstallerBkg.psd
├── InterpolateData16.png
├── InterpolateData32.png
├── LineColor16.png
├── LineColor32.png
├── LoadVideo16.png
├── LoadVideo32.png
├── ManualDataAquisition16.png
├── ManualDataAquisition32.png
├── ModifyData16.png
├── ModifyData32.png
├── MotionDetection16.png
├── MotionDetection32.png
├── New16.png
├── New32.png
├── NoVideo.psd
├── NoVideo800600.png
├── Open16.png
├── Open32.png
├── Options16.png
├── Options32.png
├── Pause16.png
├── PlayControl16.png
├── PlayControl32.png
├── PlayControl48.png
├── Properties16.png
├── Properties32.png
├── Recalculate16.png
├── Recalculate32.png
├── Record16.png
├── RecordControl16.png
├── RecordControl16B.png
├── RecordControl32.png
├── RecordControl48.png
├── RecordVideo.psd
├── RecordVideo16.png
├── RecordVideo32.png
├── RegressionExponentialA16.png
├── RegressionExponentialA32.png
├── RegressionExponentialB16.png
├── RegressionExponentialB32.png
├── RegressionLinear16.png
├── RegressionLinear32.png
├── RegressionLogarithmus16.png
├── RegressionLogarithmus32.png
├── RegressionPotentiell16.png
├── RegressionPotentiell32.png
├── RegressionQuadratisch16.png
├── RegressionQuadratisch32.png
├── RegressionResonanz16.png
├── RegressionResonanz32.png
├── RegressionSinus16.png
├── RegressionSinus32.png
├── RegressionSinusExponential16.png
├── RegressionSinusExponential32.png
├── Reset16.png
├── Reset32.png
├── Restart16.png
├── Restart32.png
├── Revert16.png
├── RevertLayout32.png
├── Rotate16.png
├── Rotate32.png
├── Save16.png
├── Save32.png
├── SaveImage32.png
├── SaveLayout32.png
├── SeekNext16.png
├── SeekPrevious16.png
├── SelectColor16.png
├── SelectColor32.png
├── SelectObject16.png
├── SelectObject32.png
├── SetCutoutLeft16.png
├── SetCutoutRight16.png
├── SetZeroTime16.png
├── SkipPoints16.png
├── SkipPoints32.png
├── Start16.png
├── StepForward16.png
├── StepForward32.png
├── Stop16.png
├── StopControl16.png
├── StopControl32.png
├── StopControl48.png
├── TimeUnit16.png
├── TimeUnit32.png
├── UpArrow16.png
├── VianaLogo.psd
├── VianaLogo64.png
├── VianaNET.ico
├── VianaNET32.psd
├── VianaNET_32.png
├── Video16.png
├── Video32.png
├── VideoDeviceOptions16.png
├── VideoDeviceOptions32.png
├── VideoInfo16.png
├── VideoInfo32.png
├── VideoOpen.psd
├── VideoOpen32.png
├── VideoWindow16.png
├── VideoWindow32.png
└── Word16.png
├── Localization
├── Labels.Designer.cs
├── Labels.de.Designer.cs
├── Labels.de.resx
├── Labels.en.Designer.cs
├── Labels.en.resx
└── Labels.resx
├── Logging
├── ErrorLogger.cs
├── InformationDialog.xaml
├── InformationDialog.xaml.cs
└── TraceListener.cs
├── MainWindow
├── AboutWindow.xaml
├── AboutWindow.xaml.cs
├── MainWindow.xaml
├── MainWindow.xaml.cs
├── StatusBarContent.cs
├── TopFrame.xaml
├── TopFrame.xaml.cs
├── VianaDialog.xaml
├── VianaDialog.xaml.cs
├── VianaSaveDialog.xaml
└── VianaSaveDialog.xaml.cs
├── Modules
├── Base
│ ├── WindowWithHelp.xaml
│ └── WindowWithHelp.xaml.cs
├── Chart
│ ├── ChartHelpDialog.xaml
│ ├── ChartHelpDialog.xaml.cs
│ ├── ChartWindow.xaml
│ ├── ChartWindow.xaml.cs
│ └── ExportChart.cs
├── DataAcquisition
│ ├── ManualDataAquisitionWindow.xaml
│ ├── ManualDataAquisitionWindow.xaml.cs
│ ├── ModifyDataWindow.xaml
│ ├── ModifyDataWindow.xaml.cs
│ ├── SelectCursorcolorDlg.xaml
│ └── SelectCursorcolorDlg.xaml.cs
├── DataGrid
│ ├── DataGridWindow.xaml
│ ├── DataGridWindow.xaml.cs
│ ├── DifferenceQuotientDialog.xaml
│ ├── DifferenceQuotientDialog.xaml.cs
│ ├── ExportData.cs
│ ├── ExportOptions.cs
│ ├── ExportOptionsDialog.xaml
│ ├── ExportOptionsDialog.xaml.cs
│ ├── SkipPointsDialog.xaml
│ ├── SkipPointsDialog.xaml.cs
│ ├── TimeUnitDialog.xaml
│ ├── TimeUnitDialog.xaml.cs
│ └── template.ods
└── Video
│ ├── BlobDetection
│ ├── BlobsControl.xaml
│ └── BlobsControl.xaml.cs
│ ├── Control
│ ├── Video.cs
│ ├── VideoBase.cs
│ ├── VideoCapturer.cs
│ └── VideoPlayer.cs
│ ├── Dialogs
│ ├── CalibrateVideoWindow.cs
│ ├── ClipVideoWindow.cs
│ ├── CoordinateSystemWindow.cs
│ ├── LengthDialog.xaml
│ ├── LengthDialog.xaml.cs
│ ├── MeasureAngleWindow.xaml
│ ├── MeasureAngleWindow.xaml.cs
│ ├── MeasureLengthWindow.xaml
│ ├── MeasureLengthWindow.xaml.cs
│ ├── SaveVideoDialog.xaml
│ ├── SaveVideoDialog.xaml.cs
│ ├── SaveVideoDialogDE.xaml.cs
│ ├── SaveVideoDialogDS.xaml
│ ├── SelectColorWindow.xaml
│ ├── SelectColorWindow.xaml.cs
│ ├── VideoInfoDialog.xaml
│ └── VideoInfoDialog.xaml.cs
│ ├── Filter
│ ├── ColorAndCropFilterRGB.cs
│ ├── ColorAndCropFilterYCbCr.cs
│ ├── CropFilterRgb.cs
│ ├── FilterBase.cs
│ ├── Histogram.cs
│ ├── HistogramMinMaxSegmentator.cs
│ ├── MotionHighlightingSpecial.cs
│ ├── Segment.cs
│ ├── TwoFramesDifferenceDetectorSpecial.cs
│ ├── VectorInt.cs
│ └── YCbCrColor.cs
│ ├── VideoWindow.xaml
│ └── VideoWindow.xaml.cs
├── Properties
├── AssemblyInfo.cs
├── Settings.Designer.cs
└── Settings.settings
├── VianaNET.csproj
├── VianaNET.csproj.user
├── app.config
└── packages.config
/.gitignore:
--------------------------------------------------------------------------------
1 | /.vs/VianaNET/v16/*.suo
2 | /Debug/*
3 | /VianaNET/obj/*
4 | /packages/*
5 | /VianaTestVideos
6 | /Release/*
7 | /.vs/VianaNET/DesignTimeBuild
8 | /Setup/Debug/*
9 | /Setup/Release/*
10 | /Setup/Setup/obj/*
11 | /.vs/VianaNET
12 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # viana - Video analysis
2 | The VianaNET project targets physics education. The software enables to analyze the motion of colored objects in life-video and video files.
3 | The data can be visualized in charts and exported for further analysis. It's developed in C#.Net.
4 |
5 | VianaNET is a replacement of the great Viana of Thomas Kersting from the university of Essen to enable life-video and support more video formats along with updated user interface and usability along with localization.
6 | VianaNET is currently available in English and German.
7 |
8 | Some more details on changes and bugfixes can be found at http://www.viananet.de
9 |
10 | Thanks for your interest, feel free to add comments or use the issue tracker.
11 | Regards,
12 | Adrian
13 |
--------------------------------------------------------------------------------
/Setup/Setup/Config.wxi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/Setup/Setup/InstallerBanner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/Setup/Setup/InstallerBanner.png
--------------------------------------------------------------------------------
/Setup/Setup/InstallerBkg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/Setup/Setup/InstallerBkg.png
--------------------------------------------------------------------------------
/Setup/Setup/Product.wxs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
11 |
19 |
20 |
21 |
22 |
23 | WIXNETFX4RELEASEINSTALLED >= "#$(var.NetFx48MinRelease)"
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/Setup/Setup/Resources.wxs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
9 |
10 |
11 |
13 |
14 |
15 |
16 |
17 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/Setup/Setup/en-US.wxl:
--------------------------------------------------------------------------------
1 |
2 |
3 | 1033
4 |
--------------------------------------------------------------------------------
/VianaNET.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 17
4 | VisualStudioVersion = 17.4.33103.184
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VianaNET", "VianaNET\VianaNET.csproj", "{9DAD3858-72EA-4B23-A8B5-DF12BBC1AAFE}"
7 | EndProject
8 | Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "Setup", "Setup\Setup\Setup.wixproj", "{2248D372-66FC-471F-89D6-601930B8538D}"
9 | ProjectSection(ProjectDependencies) = postProject
10 | {9DAD3858-72EA-4B23-A8B5-DF12BBC1AAFE} = {9DAD3858-72EA-4B23-A8B5-DF12BBC1AAFE}
11 | EndProjectSection
12 | EndProject
13 | Global
14 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
15 | Debug|Any CPU = Debug|Any CPU
16 | Debug|x64 = Debug|x64
17 | Debug|x86 = Debug|x86
18 | Release|Any CPU = Release|Any CPU
19 | Release|x64 = Release|x64
20 | Release|x86 = Release|x86
21 | EndGlobalSection
22 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
23 | {9DAD3858-72EA-4B23-A8B5-DF12BBC1AAFE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
24 | {9DAD3858-72EA-4B23-A8B5-DF12BBC1AAFE}.Debug|Any CPU.Build.0 = Debug|Any CPU
25 | {9DAD3858-72EA-4B23-A8B5-DF12BBC1AAFE}.Debug|x64.ActiveCfg = Debug|x64
26 | {9DAD3858-72EA-4B23-A8B5-DF12BBC1AAFE}.Debug|x64.Build.0 = Debug|x64
27 | {9DAD3858-72EA-4B23-A8B5-DF12BBC1AAFE}.Debug|x86.ActiveCfg = Debug|x86
28 | {9DAD3858-72EA-4B23-A8B5-DF12BBC1AAFE}.Debug|x86.Build.0 = Debug|x86
29 | {9DAD3858-72EA-4B23-A8B5-DF12BBC1AAFE}.Release|Any CPU.ActiveCfg = Release|Any CPU
30 | {9DAD3858-72EA-4B23-A8B5-DF12BBC1AAFE}.Release|Any CPU.Build.0 = Release|Any CPU
31 | {9DAD3858-72EA-4B23-A8B5-DF12BBC1AAFE}.Release|x64.ActiveCfg = Release|x64
32 | {9DAD3858-72EA-4B23-A8B5-DF12BBC1AAFE}.Release|x64.Build.0 = Release|x64
33 | {9DAD3858-72EA-4B23-A8B5-DF12BBC1AAFE}.Release|x86.ActiveCfg = Release|x86
34 | {9DAD3858-72EA-4B23-A8B5-DF12BBC1AAFE}.Release|x86.Build.0 = Release|x86
35 | {2248D372-66FC-471F-89D6-601930B8538D}.Debug|Any CPU.ActiveCfg = Debug|x86
36 | {2248D372-66FC-471F-89D6-601930B8538D}.Debug|x64.ActiveCfg = Debug|x64
37 | {2248D372-66FC-471F-89D6-601930B8538D}.Debug|x86.ActiveCfg = Debug|x86
38 | {2248D372-66FC-471F-89D6-601930B8538D}.Release|Any CPU.ActiveCfg = Release|x86
39 | {2248D372-66FC-471F-89D6-601930B8538D}.Release|x64.ActiveCfg = Release|x64
40 | {2248D372-66FC-471F-89D6-601930B8538D}.Release|x86.ActiveCfg = Release|x86
41 | EndGlobalSection
42 | GlobalSection(SolutionProperties) = preSolution
43 | HideSolutionNode = FALSE
44 | EndGlobalSection
45 | GlobalSection(ExtensibilityGlobals) = postSolution
46 | SolutionGuid = {DD66A0ED-54AA-42F0-93F6-570CE98B8A3F}
47 | EndGlobalSection
48 | EndGlobal
49 |
--------------------------------------------------------------------------------
/VianaNET.sln.DotSettings.user:
--------------------------------------------------------------------------------
1 |
2 | True
3 | C:\Users\Adrian\VSProjects\Viana@Codeplex\Reharper.DotSettings
4 | ..\Reharper.DotSettings
5 | True
6 | 1
7 |
8 | Never
9 | True
--------------------------------------------------------------------------------
/VianaNET/App.xaml:
--------------------------------------------------------------------------------
1 |
9 |
15 |
16 |
--------------------------------------------------------------------------------
/VianaNET/Application/ExtensionMethods.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2021 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | // Dr. Adrian Voßkühler
21 | // adrian@vosskuehler.name
22 | //
23 | // This class provides extension methods for ToggleButtons and
24 | // invoking of empty events.
25 | //
26 | // --------------------------------------------------------------------------------------------------------------------
27 | namespace VianaNET.Application
28 | {
29 | using System;
30 | using System.Windows.Controls.Primitives;
31 |
32 | ///
33 | /// This class provides extension methods for ToggleButtons and
34 | /// invoking of empty events.
35 | ///
36 | public static class ExtensionMethods
37 | {
38 |
39 |
40 | ///
41 | /// Static. Invokes the given event with the given sender and
42 | /// empty event arguments.
43 | ///
44 | ///
45 | /// The to be sent.
46 | ///
47 | ///
48 | /// The sender of the event.
49 | ///
50 | public static void InvokeEmpty(this EventHandler eventHandler, object sender)
51 | {
52 | EventHandler handler = eventHandler;
53 | if (null != handler)
54 | {
55 | handler.Invoke(sender, EventArgs.Empty);
56 | }
57 | }
58 |
59 | ///
60 | /// Static. Returns the
61 | /// value for the given
62 | ///
63 | ///
64 | /// The to check its value.
65 | ///
66 | ///
67 | /// True if button is checked, otherwise false or default value if is not set.
68 | ///
69 | public static bool IsChecked(this ToggleButton toggleButton)
70 | {
71 | return toggleButton.IsChecked.GetValueOrDefault();
72 | }
73 |
74 |
75 | }
76 | }
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Colors/ColorType.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2021 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | // Dr. Adrian Voßkühler
21 | // adrian@vosskuehler.name
22 | //
23 | // Enumerates different color types that can
24 | // be HSL or HSV.
25 | //
26 | // --------------------------------------------------------------------------------------------------------------------
27 | namespace VianaNET.CustomStyles.Colors
28 | {
29 | ///
30 | /// Enumerates different color types that can
31 | /// be HSL or HSV.
32 | ///
33 | public enum ColorType
34 | {
35 | ///
36 | /// Indicates HSL color. (Hue, Saturation, Luminance)
37 | ///
38 | HSL,
39 |
40 | ///
41 | /// Indicates HSV color. (Hue, Saturation, V??)
42 | ///
43 | HSV
44 | }
45 | }
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Colors/OfficeColorPallet.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2021 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | // Dr. Adrian Voßkühler
21 | // adrian@vosskuehler.name
22 | //
23 | // Describes the parts of the office coloration scheme
24 | //
25 | // --------------------------------------------------------------------------------------------------------------------
26 | namespace VianaNET.CustomStyles.Colors
27 | {
28 | ///
29 | /// Describes the parts of the office coloration scheme
30 | ///
31 | public enum OfficeColorPallet
32 | {
33 | ///
34 | /// The background color
35 | ///
36 | Background,
37 |
38 | ///
39 | /// The foreground color
40 | ///
41 | Foreground,
42 |
43 | ///
44 | /// The color to highlight controls
45 | ///
46 | HighLight,
47 |
48 | ///
49 | /// The color for disabled controls
50 | ///
51 | Disabled,
52 |
53 | ///
54 | /// The background color for editable controls
55 | ///
56 | EditableControlsBackground,
57 |
58 | ///
59 | /// No style defined
60 | ///
61 | None
62 | }
63 | }
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Controls/Arrow.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/CustomStyles/Controls/Arrow.cs
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Controls/CoordinateSystem.xaml:
--------------------------------------------------------------------------------
1 |
13 |
28 |
29 |
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Controls/CoordinateSystem.xaml.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2014 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | // --------------------------------------------------------------------------------------------------------------------
21 |
22 | namespace VianaNET.CustomStyles.Controls
23 | {
24 | using System.Windows.Controls;
25 |
26 | ///
27 | /// Interaction logic for CoordinateSystem.xaml
28 | ///
29 | public partial class CoordinateSystem : UserControl
30 | {
31 |
32 |
33 | ///
34 | /// Initializes a new instance of the class.
35 | ///
36 | public CoordinateSystem()
37 | {
38 | this.InitializeComponent();
39 | }
40 |
41 |
42 |
43 |
44 |
45 |
46 | }
47 | }
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Controls/DualTextBox.xaml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Controls/LabeledSlider.xaml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Controls/LabeledTextBox.xaml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Controls/LineStyleControl.xaml:
--------------------------------------------------------------------------------
1 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
30 |
34 |
35 |
36 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Controls/MediaSliderControl.xaml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 |
26 |
27 |
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Controls/MediaSliderControl.xaml.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2021 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | // Dr. Adrian Voßkühler
21 | // adrian@vosskuehler.name
22 | //
23 | // Interaction logic for MediaSliderControl.xaml
24 | //
25 | // --------------------------------------------------------------------------------------------------------------------
26 | namespace VianaNET
27 | {
28 | using System.Windows.Input;
29 |
30 | ///
31 | /// Interaction logic for MediaSliderControl.xaml
32 | ///
33 | public partial class MediaSliderControl
34 | {
35 |
36 |
37 | ///
38 | /// Initializes a new instance of the class.
39 | ///
40 | public MediaSliderControl()
41 | {
42 | this.InitializeComponent();
43 | }
44 |
45 |
46 |
47 |
48 |
49 | ///
50 | /// The media slider_ mouse left button down.
51 | ///
52 | ///
53 | /// The sender.
54 | ///
55 | ///
56 | /// The e.
57 | ///
58 | private void MediaSlider_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
59 | {
60 | }
61 |
62 | ///
63 | /// The media slider_ mouse left button up.
64 | ///
65 | ///
66 | /// The sender.
67 | ///
68 | ///
69 | /// The e.
70 | ///
71 | private void MediaSlider_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
72 | {
73 | }
74 |
75 | ///
76 | /// The media slider_ mouse move.
77 | ///
78 | ///
79 | /// The sender.
80 | ///
81 | ///
82 | /// The e.
83 | ///
84 | private void MediaSlider_MouseMove(object sender, MouseEventArgs e)
85 | {
86 | }
87 |
88 |
89 | }
90 | }
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Controls/NumericUpDown.xaml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Controls/SliderValue.xaml.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2021 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | // Dr. Adrian Voßkühler
21 | // adrian@vosskuehler.name
22 | //
23 | // Interaction logic for SliderValue.xaml
24 | //
25 | // --------------------------------------------------------------------------------------------------------------------
26 | namespace VianaNET
27 | {
28 | using System.Windows.Controls;
29 |
30 | ///
31 | /// Interaction logic for SliderValue.xaml
32 | ///
33 | public class SliderValue : Slider
34 | {
35 | }
36 | }
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Controls/VisualContainerElement.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2021 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | //
21 | // Defines the VisualContainerElement type.
22 | //
23 | // --------------------------------------------------------------------------------------------------------------------
24 |
25 | namespace VianaNET
26 | {
27 | using System.Windows;
28 | using System.Windows.Media;
29 |
30 | public class VisualContainerElement : FrameworkElement
31 | {
32 | private DrawingVisual visual;
33 |
34 | public VisualContainerElement()
35 | : base()
36 | {
37 | this.visual = null;
38 | }
39 |
40 | public DrawingVisual Visual
41 | {
42 | get => this.visual;
43 | set
44 | {
45 | this.RemoveVisualChild(this.visual);
46 | this.visual = value;
47 | this.AddVisualChild(this.visual);
48 |
49 | this.InvalidateMeasure();
50 | this.InvalidateVisual();
51 | }
52 | }
53 |
54 | protected override int VisualChildrenCount => 1;
55 |
56 | protected override Visual GetVisualChild(int index)
57 | {
58 | return this.visual;
59 | }
60 |
61 | protected override Size MeasureOverride(Size availableSize)
62 | {
63 | if (this.visual != null)
64 | {
65 | return this.visual.ContentBounds.Size;
66 | }
67 |
68 | return base.MeasureOverride(availableSize);
69 | }
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Converter/Converter.xaml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | Time
21 | Pixel
22 | Position
23 | Velocity
24 | Acceleration
25 |
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Converter/PlusOneConverter.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2021 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | // Dr. Adrian Voßkühler
21 | // adrian@vosskuehler.name
22 | //
23 | // The plus one converter.
24 | //
25 | // --------------------------------------------------------------------------------------------------------------------
26 | namespace VianaNET.CustomStyles.Converter
27 | {
28 | using System;
29 | using System.Globalization;
30 | using System.Windows.Data;
31 |
32 | ///
33 | /// The plus one converter.
34 | ///
35 | [ValueConversion(typeof(int), typeof(int))]
36 | public class PlusOneConverter : IValueConverter
37 | {
38 |
39 |
40 | ///
41 | /// The convert.
42 | ///
43 | ///
44 | /// The value.
45 | ///
46 | ///
47 | /// The target type.
48 | ///
49 | ///
50 | /// The parameter.
51 | ///
52 | ///
53 | /// The culture.
54 | ///
55 | ///
56 | /// The .
57 | ///
58 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
59 | {
60 | int valueToConvert = (int)value;
61 | return valueToConvert + 1;
62 | }
63 |
64 | ///
65 | /// The convert back.
66 | ///
67 | ///
68 | /// The value.
69 | ///
70 | ///
71 | /// The target type.
72 | ///
73 | ///
74 | /// The parameter.
75 | ///
76 | ///
77 | /// The culture.
78 | ///
79 | ///
80 | /// The .
81 | ///
82 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
83 | {
84 | int valueToConvertBack = (int)value;
85 | return valueToConvertBack - 1;
86 | }
87 |
88 |
89 | }
90 | }
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Cursors/CursorMinus.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/CustomStyles/Cursors/CursorMinus.cur
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Cursors/CursorPlus.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/CustomStyles/Cursors/CursorPlus.cur
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/FontAwesome/AwesomeFontType.cs:
--------------------------------------------------------------------------------
1 | namespace VianaNET.CustomStyles.FontAwesome
2 | {
3 | public enum AwesomeFontType : int
4 | {
5 | Light = 1,
6 | Regular = 2,
7 | Solid = 3,
8 | Brands = 4
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/FontAwesome/Icon.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Windows.Markup;
3 | using System.Windows.Media;
4 |
5 | namespace VianaNET.CustomStyles.FontAwesome
6 | {
7 | public class Icon : MarkupExtension
8 | {
9 | private readonly IconBlock _iconBlock;
10 |
11 | public Icon(IconChar icon)
12 | {
13 | this._iconBlock = new IconBlock
14 | {
15 | FontSize = 24,
16 | Icon = icon
17 | };
18 | }
19 |
20 | public Brush Foreground
21 | {
22 | get => this._iconBlock.Foreground;
23 | set => this._iconBlock.Foreground = value;
24 | }
25 |
26 | public AwesomeFontType FontType
27 | {
28 | get => this._iconBlock.FontType;
29 | set => this._iconBlock.FontType = value;
30 | }
31 |
32 | public override object ProvideValue(IServiceProvider serviceProvider)
33 | {
34 | return this._iconBlock;
35 | }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/FontAwesome/IconChar.tt:
--------------------------------------------------------------------------------
1 | <#@template language="C#" hostSpecific="true" #>
2 | <#@ output extension=".cs" #>
3 | <#@ assembly name="System.Core" #>
4 | <#@ import namespace="System.IO" #>
5 | <#@ import namespace="System.Linq" #>
6 | <#@ import namespace="System.Text.RegularExpressions" #>
7 | <#@ import namespace="System.CodeDom.Compiler" #>
8 | <#@ import namespace="System.Globalization" #>
9 | <#
10 | var cssFile = this.Host.ResolvePath(@"fontawesome-all.css");
11 | var css = File.ReadAllText(cssFile);
12 | // c.f.: http://derekslager.com/blog/posts/2007/09/a-better-dotnet-regular-expression-tester.ashx
13 | var regEx = new Regex(@"\.fa-(.+):before\s*\{\s*content:\s*""\\(.+)"";\s*}", RegexOptions.Multiline);
14 |
15 | var fas = regEx.Matches(css).OfType()
16 | .Select(match => new Fa {Class = ValidIdentifier(match.Groups[1].Value), Code = match.Groups[2].Value})
17 | .OrderBy(x => x.Class)
18 | .ToList();
19 |
20 | #>
21 | //------------------------------------------------------------------------------
22 | //
23 | // This code was generated by a tool.
24 | //
25 | // Changes to this file may cause incorrect behavior and will be lost if
26 | // the code is regenerated.
27 | //
28 | //------------------------------------------------------------------------------
29 |
30 | namespace VianaNET.CustomStyles.FontAwesome
31 | {
32 | public enum IconChar
33 | {
34 | None = 0,
35 | <# fas.ForEach(fa => WriteLine("\t\t{0} = 0x{1},", fa.Class, fa.Code)); #>
36 | }
37 | }
38 | <#+
39 | class Fa
40 | {
41 | public string Class { get; set; }
42 | public string Code { get; set; }
43 | }
44 |
45 | // c.f.: http://blog.visualt4.com/2009/02/creating-valid-c-identifiers.html
46 | private static readonly CodeDomProvider Csharp = CodeDomProvider.CreateProvider("C#");
47 | private static readonly Regex InvalidChars = new Regex(@"[^\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Nl}\p{Mn}\p{Mc}\p{Cf}\p{Pc}\p{Lm}]", RegexOptions.Compiled);
48 | private static readonly TextInfo TextInfo = new CultureInfo("en-US", false).TextInfo;
49 |
50 | private static string ValidIdentifier(string value)
51 | {
52 | // cf.: http://stackoverflow.com/questions/1206019/converting-string-to-title-case-in-c-sharp
53 | // dash to camel case
54 | var name = TextInfo.ToTitleCase(value.Replace('-', ' '));
55 |
56 | // Compliant with item 2.4.2 of the C# specification
57 | var ret = InvalidChars.Replace(name, String.Empty);
58 | //The identifier must start with a character or a "_"
59 | if (!char.IsLetter(ret, 0) || !Csharp.IsValidIdentifier(ret))
60 | ret = string.Concat("_", ret);
61 | return ret;
62 | }
63 | #>
64 |
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/FontAwesome/IconSource.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Windows.Markup;
3 | using System.Windows.Media;
4 |
5 | namespace VianaNET.CustomStyles.FontAwesome
6 | {
7 | public class IconSource : MarkupExtension
8 | {
9 | private readonly IconChar _icon;
10 | private Brush _foreground = IconHelper.DefaultBrush;
11 | private ImageSource _imageSource;
12 | private double _size = IconHelper.DefaultSize;
13 | private AwesomeFontType _fontType = AwesomeFontType.Regular;
14 |
15 | public IconSource(IconChar icon)
16 | {
17 | this._icon = icon;
18 | this._imageSource = this._icon.ToImageSource(this._fontType, this._foreground, this._size);
19 | }
20 |
21 | public Brush Foreground
22 | {
23 | get => this._foreground;
24 | set
25 | {
26 | if (this._foreground.Equals(value)) return;
27 | this._foreground = value;
28 | this.UpdateImageSource();
29 | }
30 | }
31 |
32 | public AwesomeFontType FontType
33 | {
34 | get => this._fontType;
35 | set
36 | {
37 | this._fontType = value;
38 | this.UpdateImageSource();
39 | }
40 | }
41 |
42 | public double Size
43 | {
44 | get => this._size;
45 | set
46 | {
47 | if (Math.Abs(this._size - value) < 0.5) return;
48 | this._size = value;
49 | this.UpdateImageSource();
50 | }
51 | }
52 |
53 | private void UpdateImageSource()
54 | {
55 | this._imageSource = this._icon.ToImageSource(this._fontType, this._foreground, this._size);
56 | }
57 |
58 | public override object ProvideValue(IServiceProvider serviceProvider)
59 | {
60 | return this._imageSource;
61 | }
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Styles/BackgroundStyles.xaml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
8 |
9 |
18 |
19 |
20 |
21 |
24 |
25 |
28 |
29 |
30 |
36 |
37 |
42 |
43 |
48 |
49 |
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Styles/EnumStyles.xaml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Styles/GeometryItems.xaml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Styles/TextBoxStyles.xaml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
29 |
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Styles/VianaStyle.xaml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
25 |
26 |
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Types/CameraDevice.cs:
--------------------------------------------------------------------------------
1 | namespace VianaNET.CustomStyles.Types
2 | {
3 | public class CameraDevice
4 | {
5 | public CameraDevice(int index, string name)
6 | {
7 | this.Name = name;
8 | this.Index = index;
9 | }
10 |
11 | public string Name { get; private set; }
12 |
13 | public int Index { get; private set; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Types/CursorcolorType.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2021 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | // Dr. Adrian Voßkühler
21 | // adrian@vosskuehler.name
22 | //
23 | // The unit.
24 | //
25 | // --------------------------------------------------------------------------------------------------------------------
26 | namespace VianaNET.CustomStyles.Types
27 | {
28 | ///
29 | /// The unit.
30 | ///
31 | public enum CursorcolorType
32 | {
33 | ///
34 | /// A fixed color for the cursor
35 | ///
36 | Fix,
37 |
38 | ///
39 | /// A flexible color for the cursor
40 | ///
41 | Flex
42 | }
43 | }
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Types/DifferenceQuotientType.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2021 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | // Dr. Adrian Voßkühler
21 | // adrian@vosskuehler.name
22 | //
23 | // The unit.
24 | //
25 | // --------------------------------------------------------------------------------------------------------------------
26 | namespace VianaNET.CustomStyles.Types
27 | {
28 | ///
29 | /// The difference quotient type
30 | ///
31 | public enum DifferenceQuotientType
32 | {
33 | ///
34 | /// Forward difference ΔF(t) = F(t + Δt) − F(t);
35 | ///
36 | Forward,
37 |
38 | ///
39 | /// Backward difference ΔF(t) = F(t) − F(t − Δt).
40 | ///
41 | Backward,
42 |
43 | ///
44 | /// Central difference ΔF(t) = [F(t + Δt) − F(t − Δt)] / 2.
45 | ///
46 | Central
47 | }
48 | }
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Types/LengthUnit.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2021 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | // Dr. Adrian Voßkühler
21 | // adrian@vosskuehler.name
22 | //
23 | // The unit.
24 | //
25 | // --------------------------------------------------------------------------------------------------------------------
26 | namespace VianaNET.CustomStyles.Types
27 | {
28 | ///
29 | /// The unit.
30 | ///
31 | public enum LengthUnit
32 | {
33 | ///
34 | /// The px.
35 | ///
36 | px,
37 |
38 | ///
39 | /// The mm.
40 | ///
41 | mm,
42 |
43 | ///
44 | /// The cm.
45 | ///
46 | cm,
47 |
48 | ///
49 | /// The m.
50 | ///
51 | m,
52 |
53 | ///
54 | /// The km.
55 | ///
56 | km,
57 | }
58 | }
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Types/MeasurementType.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2021 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | // Dr. Adrian Voßkühler
21 | // adrian@vosskuehler.name
22 | //
23 | // The measurement type.
24 | //
25 | // --------------------------------------------------------------------------------------------------------------------
26 | namespace VianaNET.CustomStyles.Types
27 | {
28 | ///
29 | /// The measurement type.
30 | ///
31 | public enum MeasurementType
32 | {
33 | ///
34 | /// The time.
35 | ///
36 | Time,
37 |
38 | ///
39 | /// The pixel.
40 | ///
41 | Pixel,
42 |
43 | ///
44 | /// The position.
45 | ///
46 | Position,
47 |
48 | ///
49 | /// The velocity.
50 | ///
51 | Velocity,
52 |
53 | ///
54 | /// The acceleration.
55 | ///
56 | Acceleration,
57 | }
58 | }
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Types/QuestionResult.cs:
--------------------------------------------------------------------------------
1 | namespace VianaNET.CustomStyles.Types
2 | {
3 | public enum QuestionResult
4 | {
5 | OK,
6 | Yes,
7 | No,
8 | Cancel
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Types/TimeUnit.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2021 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | // Dr. Adrian Voßkühler
21 | // adrian@vosskuehler.name
22 | //
23 | // The unit.
24 | //
25 | // --------------------------------------------------------------------------------------------------------------------
26 | namespace VianaNET.CustomStyles.Types
27 | {
28 | ///
29 | /// The unit.
30 | ///
31 | public enum TimeUnit
32 | {
33 | ///
34 | /// The milliseconds unit
35 | ///
36 | ms,
37 |
38 | ///
39 | /// The seconds unit
40 | ///
41 | s
42 | }
43 | }
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Types/TrackObject.cs:
--------------------------------------------------------------------------------
1 | namespace VianaNET.CustomStyles.Types
2 | {
3 | public class TrackObject
4 | {
5 | public TrackObject(int index, string name)
6 | {
7 | this.Name = name;
8 | this.Index = index;
9 | }
10 |
11 | public string Name { get; private set; }
12 |
13 | public int Index { get; private set; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Types/UiServices.cs:
--------------------------------------------------------------------------------
1 | namespace VianaNET.CustomStyles.Types
2 | {
3 | using System;
4 | using System.Windows.Input;
5 | using System.Windows.Threading;
6 |
7 | ///
8 | /// Contains helper methods for UI, so far just one for showing a waitcursor
9 | ///
10 | public static class UiServices
11 | {
12 |
13 | ///
14 | /// A value indicating whether the UI is currently busy
15 | ///
16 | private static bool IsBusy;
17 |
18 | ///
19 | /// Sets the busystate as busy.
20 | ///
21 | public static void SetBusyState()
22 | {
23 | SetBusyState(true);
24 | }
25 |
26 | ///
27 | /// Sets the busystate to busy or not busy.
28 | ///
29 | /// if set to true the application is now busy.
30 | private static void SetBusyState(bool busy)
31 | {
32 | if (busy != IsBusy)
33 | {
34 | IsBusy = busy;
35 | Mouse.OverrideCursor = busy ? Cursors.Wait : null;
36 |
37 | if (IsBusy)
38 | {
39 | new DispatcherTimer(TimeSpan.FromSeconds(0), DispatcherPriority.ApplicationIdle, DispatcherTimer_Tick, App.Current.Dispatcher);
40 | }
41 | }
42 | }
43 |
44 | ///
45 | /// Arbeitet die momentane Arbeitsschleife ab.
46 | ///
47 | public static void WaitUntilReady()
48 | {
49 | App.Current.Dispatcher.Invoke(new Action(() => { }), DispatcherPriority.ContextIdle, null);
50 | }
51 |
52 | ///
53 | /// Handles the Tick event of the dispatcherTimer control.
54 | ///
55 | /// The source of the event.
56 | /// The instance containing the event data.
57 | private static void DispatcherTimer_Tick(object sender, EventArgs e)
58 | {
59 | if (sender is DispatcherTimer dispatcherTimer)
60 | {
61 | SetBusyState(false);
62 | dispatcherTimer.Stop();
63 | }
64 | }
65 | }
66 | }
67 |
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Types/VideoMode.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2021 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | // Dr. Adrian Voßkühler
21 | // adrian@vosskuehler.name
22 | //
23 | // The video mode.
24 | //
25 | // --------------------------------------------------------------------------------------------------------------------
26 | namespace VianaNET.CustomStyles.Types
27 | {
28 | ///
29 | /// Enumerates the availanle video modes.
30 | /// Currently two: file, for file playback and capture for live streams
31 | ///
32 | public enum VideoMode
33 | {
34 | ///
35 | /// No video mode selected.
36 | ///
37 | None,
38 |
39 | ///
40 | /// File video mode.
41 | /// A video file is loaded from disk.
42 | ///
43 | File,
44 |
45 | ///
46 | /// Capture file mode.
47 | /// A video is captured from a live stream.
48 | ///
49 | Capture,
50 | }
51 | }
--------------------------------------------------------------------------------
/VianaNET/CustomStyles/Validation/NumberValidationRule.cs:
--------------------------------------------------------------------------------
1 | // -----------------------------------------------------------------------
2 | //
3 | // TODO: Update copyright text.
4 | //
5 | // -----------------------------------------------------------------------
6 |
7 | namespace VianaNET.CustomStyles.Validation
8 | {
9 | using System;
10 | using System.Globalization;
11 | using System.Windows.Controls;
12 |
13 | ///
14 | /// TODO: Update summary.
15 | ///
16 | public class NumberValidationRule : ValidationRule
17 | {
18 | public override ValidationResult Validate(object value, CultureInfo cultureInfo)
19 | {
20 | try
21 | {
22 | if (((string)value).Length > 0)
23 | {
24 | Double.Parse((String)value);
25 | }
26 | }
27 | catch (Exception)
28 | {
29 | return new ValidationResult(false, VianaNET.Localization.Labels.CalibrationLengthErrorHint);
30 | }
31 |
32 | return new ValidationResult(true, null);
33 | }
34 | }
35 | }
--------------------------------------------------------------------------------
/VianaNET/Data/Collections/TimeSample.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2021 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | // Dr. Adrian Voßkühler
21 | // adrian@vosskuehler.name
22 | //
23 | // The time sample.
24 | //
25 | // --------------------------------------------------------------------------------------------------------------------
26 |
27 | namespace VianaNET.Data.Collections
28 | {
29 | using System.Collections.Generic;
30 |
31 | ///
32 | /// The time sample.
33 | ///
34 | public class TimeSample
35 | {
36 |
37 |
38 | ///
39 | /// Initializes a new instance of the class.
40 | ///
41 | public TimeSample()
42 | {
43 | }
44 |
45 | ///
46 | /// Gets or sets the framenumber.
47 | ///
48 | public int Framenumber { get; set; }
49 |
50 | ///
51 | /// Gets or sets the object.
52 | ///
53 | public DataSample[] Object { get; set; }
54 |
55 | ///
56 | /// Gets or sets the timestamp.
57 | ///
58 | public double Timestamp { get; set; }
59 |
60 | ///
61 | /// Gets or sets a value indicating whether this sample is selected
62 | ///
63 | public bool IsSelected { get; set; }
64 |
65 |
66 |
67 | ///
68 | /// The time comparer.
69 | ///
70 | public class TimeComparer : IComparer
71 | {
72 |
73 |
74 | ///
75 | /// The compare.
76 | ///
77 | ///
78 | /// The x.
79 | ///
80 | ///
81 | /// The y.
82 | ///
83 | ///
84 | /// The .
85 | ///
86 | public int Compare(TimeSample x, TimeSample y)
87 | {
88 | return (int)(x.Timestamp - y.Timestamp);
89 | }
90 |
91 |
92 | }
93 | }
94 | }
--------------------------------------------------------------------------------
/VianaNET/Data/Collections/XYSample.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2021 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | // Dr. Adrian Voßkühler
21 | // adrian@vosskuehler.name
22 | //
23 | // The data sample.
24 | //
25 | // --------------------------------------------------------------------------------------------------------------------
26 |
27 | namespace VianaNET.Data.Collections
28 | {
29 | using System;
30 |
31 | ///
32 | /// The data sample.
33 | ///
34 | public class XYSample : IComparable
35 | {
36 | ///
37 | /// Initializes a new instance of the class.
38 | /// This parameterless constructor is needed for serialization
39 | ///
40 | public XYSample()
41 | {
42 | }
43 |
44 | ///
45 | /// Initializes a new instance of the class.
46 | ///
47 | /// The value x.
48 | /// The value y.
49 | public XYSample(double valueX, double valueY)
50 | {
51 | this.ValueX = valueX;
52 | this.ValueY = valueY;
53 | }
54 |
55 | ///
56 | /// Gets or sets the x value for this data sample.
57 | ///
58 | public double ValueX { get; set; }
59 |
60 | ///
61 | /// Gets or sets the y value for this data sample.
62 | ///
63 | public double ValueY { get; set; }
64 |
65 | ///
66 | /// Compares the current object with another object of the same type.
67 | ///
68 | /// An object to compare with this object.
69 | /// A value that indicates the relative order of the objects being compared.
70 | public int CompareTo(object obj)
71 | {
72 | if (obj is XYSample otherSample)
73 | {
74 | return otherSample.ValueX.CompareTo(this.ValueX);
75 | }
76 |
77 | throw new ArgumentException("Object is not a XYSample");
78 | }
79 |
80 | }
81 | }
--------------------------------------------------------------------------------
/VianaNET/Data/Filter/Interpolation/ExponentialSmoothControl.xaml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
20 |
21 |
22 |
23 |
30 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/VianaNET/Data/Filter/Interpolation/InterpolationFilterTypes.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2021 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | //
21 | //
22 | //
23 | // --------------------------------------------------------------------------------------------------------------------
24 |
25 | namespace VianaNET.Data.Filter.Interpolation
26 | {
27 | ///
28 | /// Enumerates the available interpolation filter types
29 | ///
30 | public enum InterpolationFilterTypes
31 | {
32 | ///
33 | /// Describes the moving average filter which averages
34 | /// a specific amount of surrounding sample values.
35 | ///
36 | MovingAverage = 1,
37 |
38 | ///
39 | /// Describes the exponential smoothing algorithm.
40 | ///
41 | ExponentialSmooth = 2,
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/VianaNET/Data/Filter/Interpolation/InterpolationOptionsDialog.xaml:
--------------------------------------------------------------------------------
1 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/VianaNET/Data/Filter/Interpolation/MovingAverageUserControl.xaml:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
21 |
22 |
23 |
24 |
31 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/VianaNET/Data/Filter/Interpolation/MovingAverageUserControl.xaml.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2021 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | // Dr. Adrian Voßkühler
21 | // adrian@vosskuehler.name
22 | //
23 | // The moving average user control.
24 | //
25 | // --------------------------------------------------------------------------------------------------------------------
26 | namespace VianaNET.Data.Filter.Interpolation
27 | {
28 | using System.Windows;
29 | using System.Windows.Controls;
30 |
31 | ///
32 | /// The moving average user control.
33 | ///
34 | public partial class MovingAverageUserControl : UserControl
35 | {
36 |
37 |
38 | ///
39 | /// Initializes a new instance of the MovingAverageUserControl class.
40 | ///
41 | ///
42 | /// The filter.
43 | ///
44 | public MovingAverageUserControl(MovingAverageFilter filter)
45 | {
46 | this.InitializeComponent();
47 | this.Filter = filter;
48 | this.NumberOfPointsNumeric.Value = this.Filter.NumberOfSamplesToInterpolate;
49 | }
50 |
51 |
52 |
53 |
54 |
55 | ///
56 | /// Gets the filter.
57 | ///
58 | public MovingAverageFilter Filter { get; private set; }
59 |
60 |
61 |
62 |
63 |
64 | ///
65 | /// Handles the OnValueChanged event of the NumberOfPointsNumeric control.
66 | ///
67 | /// The source of the event.
68 | /// The instance containing the event data.
69 | private void NumberOfPointsNumeric_OnValueChanged(object sender, RoutedPropertyChangedEventArgs e)
70 | {
71 | this.Filter.NumberOfSamplesToInterpolate = (int)this.NumberOfPointsNumeric.Value;
72 | }
73 |
74 |
75 |
76 | }
77 | }
--------------------------------------------------------------------------------
/VianaNET/Data/Filter/LineOptionsDialog.xaml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
32 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/VianaNET/Data/Filter/LineOptionsDialog.xaml.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2021 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | // Herwig Niemeyer
21 | // hn_muenster@web.de
22 | // Adrian Voßkühler
23 | //
24 | // The line options dialog.
25 | //
26 | // --------------------------------------------------------------------------------------------------------------------
27 | namespace VianaNET.Data.Filter
28 | {
29 | using System.Windows;
30 |
31 | ///
32 | /// The line options dialog.
33 | ///
34 | public partial class LineOptionsDialog
35 | {
36 | ///
37 | /// Initializes a new instance of the class.
38 | ///
39 | public LineOptionsDialog()
40 | {
41 | this.InitializeComponent();
42 | }
43 |
44 | ///
45 | /// Cancel has been clicked.
46 | ///
47 | /// The sender.
48 | /// The instance containing the event data.
49 | private void CancelClick(object sender, RoutedEventArgs e)
50 | {
51 | this.Close();
52 | }
53 |
54 |
55 | ///
56 | /// Ok has been clicked.
57 | ///
58 | /// The sender.
59 | /// The instance containing the event data.
60 | private void OkClick(object sender, RoutedEventArgs e)
61 | {
62 | this.DialogResult = true;
63 | this.Close();
64 | }
65 | }
66 | }
--------------------------------------------------------------------------------
/VianaNET/Data/Filter/Regression/MatrixLibrary.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Data/Filter/Regression/MatrixLibrary.cs
--------------------------------------------------------------------------------
/VianaNET/Data/Filter/Regression/RegressionFilter.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Data/Filter/Regression/RegressionFilter.cs
--------------------------------------------------------------------------------
/VianaNET/Data/Filter/Regression/RegressionType.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2021 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | //
21 | // Defines the Regression type.
22 | //
23 | // --------------------------------------------------------------------------------------------------------------------
24 |
25 | namespace VianaNET.Data.Filter.Regression
26 | {
27 | ///
28 | /// The regression enumeration
29 | ///
30 | public enum RegressionType
31 | {
32 | ///
33 | /// Optimale regression
34 | ///
35 | Best = 0,
36 |
37 | ///
38 | /// Lineare Regression, mx+n
39 | ///
40 | Linear = 1,
41 |
42 | ///
43 | /// Regression mit Exponentialfunktion, a*exp(b*x)
44 | ///
45 | Exponentiell = 2,
46 |
47 | ///
48 | /// Regression mit Logarithmusfunktion, a*ln(b*x)
49 | ///
50 | Logarithmisch = 3,
51 |
52 | ///
53 | /// Regression mit Potenzfunktion, a*x^b
54 | ///
55 | Potenz = 4,
56 |
57 | ///
58 | /// Regression mit quadratischer Funktion, ax²+bx+c
59 | ///
60 | Quadratisch = 5,
61 |
62 | ///
63 | /// Regression mit Exponentialfunktion mit Konstante, a*exp(b*x) +c
64 | ///
65 | ExponentiellMitKonstante = 6,
66 |
67 | ///
68 | /// Regression mit Sinusfunktion, a*sin(bx+c)+d
69 | ///
70 | Sinus = 7,
71 |
72 | ///
73 | /// Regression mit gedämpfter Sinusfunktion, a*sin(bx)*exp(c*x)
74 | ///
75 | SinusGedämpft = 8,
76 |
77 | ///
78 | /// Regression mit Resonanzfunktion, a/sqrt(1+b(x-c/x))
79 | ///
80 | Resonanz = 9
81 | }
82 | }
83 |
--------------------------------------------------------------------------------
/VianaNET/Data/Filter/Theory/FunctionCalcTree.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2021 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | //
21 | // The calculator function term.
22 | //
23 | // --------------------------------------------------------------------------------------------------------------------
24 |
25 | namespace VianaNET.Data.Filter.Theory
26 | {
27 | ///
28 | /// calculator tree for a function term.
29 | ///
30 | public class FunctionCalcTree
31 | {
32 | ///
33 | /// Gets or sets the left functionCalcTree.
34 | ///
35 | public FunctionCalcTree Li;
36 |
37 | ///
38 | /// Gets or sets the right functionCalcTree.
39 | ///
40 | public FunctionCalcTree Re;
41 |
42 | ///
43 | /// Gets or sets the symbol of operator.
44 | ///
45 | public symTyp Cwert { get; set; }
46 |
47 | ///
48 | /// Gets or sets the string, containing the term.
49 | ///
50 | public string Name { get; set; }
51 |
52 | ///
53 | /// Gets or sets the number of a variable.
54 | ///
55 | public ushort Nr { get; set; }
56 |
57 |
58 |
59 | ///
60 | /// Gets or sets the value, when node contains a number or constant.
61 | ///
62 | public double Zwert { get; set; }
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/VianaNET/Data/Filter/Theory/Parser.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Data/Filter/Theory/Parser.cs
--------------------------------------------------------------------------------
/VianaNET/Data/Filter/Theory/TheoryFilter.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Data/Filter/Theory/TheoryFilter.cs
--------------------------------------------------------------------------------
/VianaNET/Fonts/FontAwesome5Brands-Regular-400.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Fonts/FontAwesome5Brands-Regular-400.otf
--------------------------------------------------------------------------------
/VianaNET/Fonts/FontAwesome5Pro-Light-300.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Fonts/FontAwesome5Pro-Light-300.otf
--------------------------------------------------------------------------------
/VianaNET/Fonts/FontAwesome5Pro-Regular-400.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Fonts/FontAwesome5Pro-Regular-400.otf
--------------------------------------------------------------------------------
/VianaNET/Fonts/FontAwesome5Pro-Solid-900.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Fonts/FontAwesome5Pro-Solid-900.otf
--------------------------------------------------------------------------------
/VianaNET/Images/Analyse16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Analyse16.png
--------------------------------------------------------------------------------
/VianaNET/Images/Analyse32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Analyse32.png
--------------------------------------------------------------------------------
/VianaNET/Images/Angle16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Angle16.png
--------------------------------------------------------------------------------
/VianaNET/Images/Angle32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Angle32.png
--------------------------------------------------------------------------------
/VianaNET/Images/AutomaticDataAquisition16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/AutomaticDataAquisition16.png
--------------------------------------------------------------------------------
/VianaNET/Images/AutomaticDataAquisition32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/AutomaticDataAquisition32.png
--------------------------------------------------------------------------------
/VianaNET/Images/AutomaticDataAquisitionStop16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/AutomaticDataAquisitionStop16.png
--------------------------------------------------------------------------------
/VianaNET/Images/AutomaticDataAquisitionStop32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/AutomaticDataAquisitionStop32.png
--------------------------------------------------------------------------------
/VianaNET/Images/Calibrate16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Calibrate16.png
--------------------------------------------------------------------------------
/VianaNET/Images/Calibrate32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Calibrate32.png
--------------------------------------------------------------------------------
/VianaNET/Images/Capture16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Capture16.png
--------------------------------------------------------------------------------
/VianaNET/Images/Capture32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Capture32.png
--------------------------------------------------------------------------------
/VianaNET/Images/Chart16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Chart16.png
--------------------------------------------------------------------------------
/VianaNET/Images/Chart32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Chart32.png
--------------------------------------------------------------------------------
/VianaNET/Images/ChartTypeArea16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ChartTypeArea16.png
--------------------------------------------------------------------------------
/VianaNET/Images/ChartTypeArea32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ChartTypeArea32.png
--------------------------------------------------------------------------------
/VianaNET/Images/ChartTypeBubble16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ChartTypeBubble16.png
--------------------------------------------------------------------------------
/VianaNET/Images/ChartTypeBubble32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ChartTypeBubble32.png
--------------------------------------------------------------------------------
/VianaNET/Images/ChartTypeColumn16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ChartTypeColumn16.png
--------------------------------------------------------------------------------
/VianaNET/Images/ChartTypeColumn32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ChartTypeColumn32.png
--------------------------------------------------------------------------------
/VianaNET/Images/ChartTypeLine16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ChartTypeLine16.png
--------------------------------------------------------------------------------
/VianaNET/Images/ChartTypeLine32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ChartTypeLine32.png
--------------------------------------------------------------------------------
/VianaNET/Images/ChartTypePie16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ChartTypePie16.png
--------------------------------------------------------------------------------
/VianaNET/Images/ChartTypePie32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ChartTypePie32.png
--------------------------------------------------------------------------------
/VianaNET/Images/ChartTypeXYScatter16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ChartTypeXYScatter16.png
--------------------------------------------------------------------------------
/VianaNET/Images/ChartTypeXYScatter32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ChartTypeXYScatter32.png
--------------------------------------------------------------------------------
/VianaNET/Images/ClipVideo16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ClipVideo16.png
--------------------------------------------------------------------------------
/VianaNET/Images/ClipVideo32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ClipVideo32.png
--------------------------------------------------------------------------------
/VianaNET/Images/Close16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Close16.png
--------------------------------------------------------------------------------
/VianaNET/Images/Close32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Close32.png
--------------------------------------------------------------------------------
/VianaNET/Images/Color32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Color32.png
--------------------------------------------------------------------------------
/VianaNET/Images/ColorDetection16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ColorDetection16.png
--------------------------------------------------------------------------------
/VianaNET/Images/ColorDetection32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ColorDetection32.png
--------------------------------------------------------------------------------
/VianaNET/Images/ColorReset32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ColorReset32.png
--------------------------------------------------------------------------------
/VianaNET/Images/CoordinateSystem16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/CoordinateSystem16.png
--------------------------------------------------------------------------------
/VianaNET/Images/CoordinateSystem32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/CoordinateSystem32.png
--------------------------------------------------------------------------------
/VianaNET/Images/DataDelete16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/DataDelete16.png
--------------------------------------------------------------------------------
/VianaNET/Images/DataDelete32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/DataDelete32.png
--------------------------------------------------------------------------------
/VianaNET/Images/Datagrid16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Datagrid16.png
--------------------------------------------------------------------------------
/VianaNET/Images/Datagrid32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Datagrid32.png
--------------------------------------------------------------------------------
/VianaNET/Images/DifferenceQuotient16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/DifferenceQuotient16.png
--------------------------------------------------------------------------------
/VianaNET/Images/DifferenceQuotient32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/DifferenceQuotient32.png
--------------------------------------------------------------------------------
/VianaNET/Images/DownArrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/DownArrow.png
--------------------------------------------------------------------------------
/VianaNET/Images/Exit32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Exit32.png
--------------------------------------------------------------------------------
/VianaNET/Images/ExportChart32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ExportChart32.png
--------------------------------------------------------------------------------
/VianaNET/Images/ExportChartToClipboard16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ExportChartToClipboard16.png
--------------------------------------------------------------------------------
/VianaNET/Images/ExportChartToClipboard32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ExportChartToClipboard32.png
--------------------------------------------------------------------------------
/VianaNET/Images/ExportChartToFile16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ExportChartToFile16.png
--------------------------------------------------------------------------------
/VianaNET/Images/ExportChartToFile32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ExportChartToFile32.png
--------------------------------------------------------------------------------
/VianaNET/Images/ExportChartToWord16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ExportChartToWord16.png
--------------------------------------------------------------------------------
/VianaNET/Images/ExportChartToWord32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ExportChartToWord32.png
--------------------------------------------------------------------------------
/VianaNET/Images/ExportData32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ExportData32.png
--------------------------------------------------------------------------------
/VianaNET/Images/ExportToCsv16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ExportToCsv16.png
--------------------------------------------------------------------------------
/VianaNET/Images/ExportToCsv32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ExportToCsv32.png
--------------------------------------------------------------------------------
/VianaNET/Images/ExportToOds16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ExportToOds16.png
--------------------------------------------------------------------------------
/VianaNET/Images/ExportToOds32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ExportToOds32.png
--------------------------------------------------------------------------------
/VianaNET/Images/ExportToTxt16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ExportToTxt16.png
--------------------------------------------------------------------------------
/VianaNET/Images/ExportToTxt32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ExportToTxt32.png
--------------------------------------------------------------------------------
/VianaNET/Images/ExportToXls16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ExportToXls16.png
--------------------------------------------------------------------------------
/VianaNET/Images/ExportToXls32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ExportToXls32.png
--------------------------------------------------------------------------------
/VianaNET/Images/ExportToXml16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ExportToXml16.png
--------------------------------------------------------------------------------
/VianaNET/Images/ExportToXml32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ExportToXml32.png
--------------------------------------------------------------------------------
/VianaNET/Images/FileOpen16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/FileOpen16.png
--------------------------------------------------------------------------------
/VianaNET/Images/FileOpen32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/FileOpen32.png
--------------------------------------------------------------------------------
/VianaNET/Images/Help16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Help16.png
--------------------------------------------------------------------------------
/VianaNET/Images/Help32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Help32.png
--------------------------------------------------------------------------------
/VianaNET/Images/InstallerBanner.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/InstallerBanner.jpg
--------------------------------------------------------------------------------
/VianaNET/Images/InstallerBanner.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/InstallerBanner.psd
--------------------------------------------------------------------------------
/VianaNET/Images/InstallerBkg.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/InstallerBkg.psd
--------------------------------------------------------------------------------
/VianaNET/Images/InterpolateData16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/InterpolateData16.png
--------------------------------------------------------------------------------
/VianaNET/Images/InterpolateData32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/InterpolateData32.png
--------------------------------------------------------------------------------
/VianaNET/Images/LineColor16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/LineColor16.png
--------------------------------------------------------------------------------
/VianaNET/Images/LineColor32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/LineColor32.png
--------------------------------------------------------------------------------
/VianaNET/Images/LoadVideo16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/LoadVideo16.png
--------------------------------------------------------------------------------
/VianaNET/Images/LoadVideo32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/LoadVideo32.png
--------------------------------------------------------------------------------
/VianaNET/Images/ManualDataAquisition16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ManualDataAquisition16.png
--------------------------------------------------------------------------------
/VianaNET/Images/ManualDataAquisition32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ManualDataAquisition32.png
--------------------------------------------------------------------------------
/VianaNET/Images/ModifyData16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ModifyData16.png
--------------------------------------------------------------------------------
/VianaNET/Images/ModifyData32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/ModifyData32.png
--------------------------------------------------------------------------------
/VianaNET/Images/MotionDetection16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/MotionDetection16.png
--------------------------------------------------------------------------------
/VianaNET/Images/MotionDetection32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/MotionDetection32.png
--------------------------------------------------------------------------------
/VianaNET/Images/New16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/New16.png
--------------------------------------------------------------------------------
/VianaNET/Images/New32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/New32.png
--------------------------------------------------------------------------------
/VianaNET/Images/NoVideo.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/NoVideo.psd
--------------------------------------------------------------------------------
/VianaNET/Images/NoVideo800600.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/NoVideo800600.png
--------------------------------------------------------------------------------
/VianaNET/Images/Open16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Open16.png
--------------------------------------------------------------------------------
/VianaNET/Images/Open32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Open32.png
--------------------------------------------------------------------------------
/VianaNET/Images/Options16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Options16.png
--------------------------------------------------------------------------------
/VianaNET/Images/Options32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Options32.png
--------------------------------------------------------------------------------
/VianaNET/Images/Pause16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Pause16.png
--------------------------------------------------------------------------------
/VianaNET/Images/PlayControl16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/PlayControl16.png
--------------------------------------------------------------------------------
/VianaNET/Images/PlayControl32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/PlayControl32.png
--------------------------------------------------------------------------------
/VianaNET/Images/PlayControl48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/PlayControl48.png
--------------------------------------------------------------------------------
/VianaNET/Images/Properties16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Properties16.png
--------------------------------------------------------------------------------
/VianaNET/Images/Properties32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Properties32.png
--------------------------------------------------------------------------------
/VianaNET/Images/Recalculate16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Recalculate16.png
--------------------------------------------------------------------------------
/VianaNET/Images/Recalculate32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Recalculate32.png
--------------------------------------------------------------------------------
/VianaNET/Images/Record16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Record16.png
--------------------------------------------------------------------------------
/VianaNET/Images/RecordControl16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/RecordControl16.png
--------------------------------------------------------------------------------
/VianaNET/Images/RecordControl16B.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/RecordControl16B.png
--------------------------------------------------------------------------------
/VianaNET/Images/RecordControl32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/RecordControl32.png
--------------------------------------------------------------------------------
/VianaNET/Images/RecordControl48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/RecordControl48.png
--------------------------------------------------------------------------------
/VianaNET/Images/RecordVideo.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/RecordVideo.psd
--------------------------------------------------------------------------------
/VianaNET/Images/RecordVideo16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/RecordVideo16.png
--------------------------------------------------------------------------------
/VianaNET/Images/RecordVideo32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/RecordVideo32.png
--------------------------------------------------------------------------------
/VianaNET/Images/RegressionExponentialA16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/RegressionExponentialA16.png
--------------------------------------------------------------------------------
/VianaNET/Images/RegressionExponentialA32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/RegressionExponentialA32.png
--------------------------------------------------------------------------------
/VianaNET/Images/RegressionExponentialB16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/RegressionExponentialB16.png
--------------------------------------------------------------------------------
/VianaNET/Images/RegressionExponentialB32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/RegressionExponentialB32.png
--------------------------------------------------------------------------------
/VianaNET/Images/RegressionLinear16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/RegressionLinear16.png
--------------------------------------------------------------------------------
/VianaNET/Images/RegressionLinear32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/RegressionLinear32.png
--------------------------------------------------------------------------------
/VianaNET/Images/RegressionLogarithmus16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/RegressionLogarithmus16.png
--------------------------------------------------------------------------------
/VianaNET/Images/RegressionLogarithmus32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/RegressionLogarithmus32.png
--------------------------------------------------------------------------------
/VianaNET/Images/RegressionPotentiell16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/RegressionPotentiell16.png
--------------------------------------------------------------------------------
/VianaNET/Images/RegressionPotentiell32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/RegressionPotentiell32.png
--------------------------------------------------------------------------------
/VianaNET/Images/RegressionQuadratisch16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/RegressionQuadratisch16.png
--------------------------------------------------------------------------------
/VianaNET/Images/RegressionQuadratisch32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/RegressionQuadratisch32.png
--------------------------------------------------------------------------------
/VianaNET/Images/RegressionResonanz16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/RegressionResonanz16.png
--------------------------------------------------------------------------------
/VianaNET/Images/RegressionResonanz32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/RegressionResonanz32.png
--------------------------------------------------------------------------------
/VianaNET/Images/RegressionSinus16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/RegressionSinus16.png
--------------------------------------------------------------------------------
/VianaNET/Images/RegressionSinus32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/RegressionSinus32.png
--------------------------------------------------------------------------------
/VianaNET/Images/RegressionSinusExponential16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/RegressionSinusExponential16.png
--------------------------------------------------------------------------------
/VianaNET/Images/RegressionSinusExponential32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/RegressionSinusExponential32.png
--------------------------------------------------------------------------------
/VianaNET/Images/Reset16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Reset16.png
--------------------------------------------------------------------------------
/VianaNET/Images/Reset32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Reset32.png
--------------------------------------------------------------------------------
/VianaNET/Images/Restart16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Restart16.png
--------------------------------------------------------------------------------
/VianaNET/Images/Restart32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Restart32.png
--------------------------------------------------------------------------------
/VianaNET/Images/Revert16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Revert16.png
--------------------------------------------------------------------------------
/VianaNET/Images/RevertLayout32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/RevertLayout32.png
--------------------------------------------------------------------------------
/VianaNET/Images/Rotate16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Rotate16.png
--------------------------------------------------------------------------------
/VianaNET/Images/Rotate32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Rotate32.png
--------------------------------------------------------------------------------
/VianaNET/Images/Save16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Save16.png
--------------------------------------------------------------------------------
/VianaNET/Images/Save32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Save32.png
--------------------------------------------------------------------------------
/VianaNET/Images/SaveImage32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/SaveImage32.png
--------------------------------------------------------------------------------
/VianaNET/Images/SaveLayout32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/SaveLayout32.png
--------------------------------------------------------------------------------
/VianaNET/Images/SeekNext16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/SeekNext16.png
--------------------------------------------------------------------------------
/VianaNET/Images/SeekPrevious16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/SeekPrevious16.png
--------------------------------------------------------------------------------
/VianaNET/Images/SelectColor16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/SelectColor16.png
--------------------------------------------------------------------------------
/VianaNET/Images/SelectColor32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/SelectColor32.png
--------------------------------------------------------------------------------
/VianaNET/Images/SelectObject16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/SelectObject16.png
--------------------------------------------------------------------------------
/VianaNET/Images/SelectObject32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/SelectObject32.png
--------------------------------------------------------------------------------
/VianaNET/Images/SetCutoutLeft16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/SetCutoutLeft16.png
--------------------------------------------------------------------------------
/VianaNET/Images/SetCutoutRight16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/SetCutoutRight16.png
--------------------------------------------------------------------------------
/VianaNET/Images/SetZeroTime16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/SetZeroTime16.png
--------------------------------------------------------------------------------
/VianaNET/Images/SkipPoints16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/SkipPoints16.png
--------------------------------------------------------------------------------
/VianaNET/Images/SkipPoints32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/SkipPoints32.png
--------------------------------------------------------------------------------
/VianaNET/Images/Start16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Start16.png
--------------------------------------------------------------------------------
/VianaNET/Images/StepForward16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/StepForward16.png
--------------------------------------------------------------------------------
/VianaNET/Images/StepForward32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/StepForward32.png
--------------------------------------------------------------------------------
/VianaNET/Images/Stop16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Stop16.png
--------------------------------------------------------------------------------
/VianaNET/Images/StopControl16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/StopControl16.png
--------------------------------------------------------------------------------
/VianaNET/Images/StopControl32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/StopControl32.png
--------------------------------------------------------------------------------
/VianaNET/Images/StopControl48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/StopControl48.png
--------------------------------------------------------------------------------
/VianaNET/Images/TimeUnit16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/TimeUnit16.png
--------------------------------------------------------------------------------
/VianaNET/Images/TimeUnit32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/TimeUnit32.png
--------------------------------------------------------------------------------
/VianaNET/Images/UpArrow16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/UpArrow16.png
--------------------------------------------------------------------------------
/VianaNET/Images/VianaLogo.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/VianaLogo.psd
--------------------------------------------------------------------------------
/VianaNET/Images/VianaLogo64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/VianaLogo64.png
--------------------------------------------------------------------------------
/VianaNET/Images/VianaNET.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/VianaNET.ico
--------------------------------------------------------------------------------
/VianaNET/Images/VianaNET32.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/VianaNET32.psd
--------------------------------------------------------------------------------
/VianaNET/Images/VianaNET_32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/VianaNET_32.png
--------------------------------------------------------------------------------
/VianaNET/Images/Video16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Video16.png
--------------------------------------------------------------------------------
/VianaNET/Images/Video32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Video32.png
--------------------------------------------------------------------------------
/VianaNET/Images/VideoDeviceOptions16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/VideoDeviceOptions16.png
--------------------------------------------------------------------------------
/VianaNET/Images/VideoDeviceOptions32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/VideoDeviceOptions32.png
--------------------------------------------------------------------------------
/VianaNET/Images/VideoInfo16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/VideoInfo16.png
--------------------------------------------------------------------------------
/VianaNET/Images/VideoInfo32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/VideoInfo32.png
--------------------------------------------------------------------------------
/VianaNET/Images/VideoOpen.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/VideoOpen.psd
--------------------------------------------------------------------------------
/VianaNET/Images/VideoOpen32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/VideoOpen32.png
--------------------------------------------------------------------------------
/VianaNET/Images/VideoWindow16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/VideoWindow16.png
--------------------------------------------------------------------------------
/VianaNET/Images/VideoWindow32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/VideoWindow32.png
--------------------------------------------------------------------------------
/VianaNET/Images/Word16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Images/Word16.png
--------------------------------------------------------------------------------
/VianaNET/Localization/Labels.de.Designer.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Localization/Labels.de.Designer.cs
--------------------------------------------------------------------------------
/VianaNET/Localization/Labels.en.Designer.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Localization/Labels.en.Designer.cs
--------------------------------------------------------------------------------
/VianaNET/Logging/InformationDialog.xaml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/VianaNET/MainWindow/TopFrame.xaml:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | Title again
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/VianaNET/MainWindow/TopFrame.xaml.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2021 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | // Dr. Adrian Voßkühler
21 | // adrian@vosskuehler.name
22 | //
23 | // Interaction logic for TopFrame.xaml
24 | //
25 | // --------------------------------------------------------------------------------------------------------------------
26 | namespace VianaNET.MainWindow
27 | {
28 | using System.Windows.Controls;
29 | using System.Windows.Media;
30 |
31 | ///
32 | /// Interaction logic for TopFrame.xaml
33 | ///
34 | public partial class TopFrame : UserControl
35 | {
36 |
37 |
38 | ///
39 | /// Initializes a new instance of the class.
40 | ///
41 | public TopFrame()
42 | {
43 | this.InitializeComponent();
44 | }
45 |
46 |
47 |
48 |
49 |
50 | ///
51 | /// Sets the icon.
52 | ///
53 | public ImageSource Icon
54 | {
55 | get => this.LeftIcon.Source;
56 | set => this.LeftIcon.Source = value;
57 | }
58 |
59 | ///
60 | /// Gets or sets the title.
61 | ///
62 | public string Title
63 | {
64 | get => this.Header.Text;
65 |
66 | set => this.Header.Text = value;
67 | }
68 |
69 | ///
70 | /// Gets or sets the titles fontsize.
71 | ///
72 | public double TitleSize
73 | {
74 | get => this.Header.FontSize;
75 |
76 | set => this.Header.FontSize = value;
77 | }
78 |
79 |
80 | }
81 | }
--------------------------------------------------------------------------------
/VianaNET/MainWindow/VianaDialog.xaml:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | Description
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/VianaNET/MainWindow/VianaSaveDialog.xaml:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | Description
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/VianaNET/Modules/Chart/ChartHelpDialog.xaml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/VianaNET/Modules/Chart/ChartHelpDialog.xaml.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2014 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | // Dr. Adrian Voßkühler
21 | // adrian@vosskuehler.name
22 | // --------------------------------------------------------------------------------------------------------------------
23 | namespace VianaNET.Modules.Chart
24 | {
25 | using System.Windows;
26 |
27 | ///
28 | /// A dialog to display help on the chart module.
29 | ///
30 | public partial class ChartHelpDialog
31 | {
32 |
33 |
34 | ///
35 | /// Initializes a new instance of the class.
36 | ///
37 | public ChartHelpDialog()
38 | {
39 | this.InitializeComponent();
40 | }
41 |
42 |
43 |
44 |
45 |
46 | ///
47 | /// Event handler for the button click event.
48 | /// SaveAndClose is clicked, so set the dialog result to true and exit.
49 | ///
50 | /// The sender.
51 | /// The instance containing the event data.
52 | private void SaveAndCloseButtonClick(object sender, RoutedEventArgs e)
53 | {
54 | this.DialogResult = true;
55 | this.Close();
56 | }
57 |
58 |
59 | }
60 | }
--------------------------------------------------------------------------------
/VianaNET/Modules/DataAcquisition/SelectCursorcolorDlg.xaml:
--------------------------------------------------------------------------------
1 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/VianaNET/Modules/DataAcquisition/SelectCursorcolorDlg.xaml.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2014 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | // Dr. Adrian Voßkühler
21 | // adrian@vosskuehler.name
22 | // --------------------------------------------------------------------------------------------------------------------
23 | namespace VianaNET.Modules.DataAcquisition
24 | {
25 | using System.Windows;
26 |
27 | ///
28 | /// A dialog to display help on the chart module.
29 | ///
30 | public partial class SelectCursorcolorDlg
31 | {
32 | ///
33 | /// Initializes a new instance of the class.
34 | ///
35 | public SelectCursorcolorDlg()
36 | {
37 | this.InitializeComponent();
38 | }
39 |
40 | ///
41 | /// Event handler for the button click event.
42 | /// SaveAndClose is clicked, so set the dialog result to true and exit.
43 | ///
44 | /// The sender.
45 | /// The instance containing the event data.
46 | private void SaveAndCloseButtonClick(object sender, RoutedEventArgs e)
47 | {
48 | this.DialogResult = true;
49 | this.Close();
50 | }
51 |
52 |
53 | }
54 | }
--------------------------------------------------------------------------------
/VianaNET/Modules/DataGrid/DataGridWindow.xaml:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 |
29 |
30 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/VianaNET/Modules/DataGrid/DifferenceQuotientDialog.xaml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/VianaNET/Modules/DataGrid/ExportOptions.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2021 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | // Dr. Adrian Voßkühler
21 | // adrian@vosskuehler.name
22 | //
23 | // The data sample.
24 | //
25 | // --------------------------------------------------------------------------------------------------------------------
26 |
27 | namespace VianaNET.Modules.DataGrid
28 | {
29 | using System.Collections.Generic;
30 |
31 | using VianaNET.Data.Collections;
32 |
33 | ///
34 | /// This class contains options for data export functionality
35 | ///
36 | public class ExportOptions
37 | {
38 |
39 |
40 | ///
41 | /// Gets or sets the list of axes for each object beeing exportet
42 | ///
43 | public List Axes { get; set; }
44 |
45 | ///
46 | /// Gets or sets the list of zero-based indexes of objects beeing exported
47 | ///
48 | public List Objects { get; set; }
49 |
50 |
51 | }
52 | }
--------------------------------------------------------------------------------
/VianaNET/Modules/DataGrid/SkipPointsDialog.xaml:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/VianaNET/Modules/DataGrid/SkipPointsDialog.xaml.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2014 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | // Dr. Adrian Voßkühler
21 | // adrian@vosskuehler.name
22 | // --------------------------------------------------------------------------------------------------------------------
23 | namespace VianaNET.Modules.DataGrid
24 | {
25 | using System.Windows;
26 |
27 | ///
28 | /// The length dialog.
29 | ///
30 | public partial class SkipPointsDialog
31 | {
32 |
33 |
34 | ///
35 | /// Initializes a new instance of the class.
36 | ///
37 | public SkipPointsDialog()
38 | {
39 | this.InitializeComponent();
40 | this.UseEveryNthPointNumericUpDown.Focus();
41 | this.UseEveryNthPointNumericUpDown.Value = App.Project.VideoData.UseEveryNthPoint;
42 | }
43 |
44 |
45 |
46 |
47 |
48 | ///
49 | /// Handles the Click event of the Cancel control.
50 | ///
51 | ///
52 | /// The source of the event.
53 | ///
54 | ///
55 | /// The instance containing the event data.
56 | ///
57 | private void CancelClick(object sender, RoutedEventArgs e)
58 | {
59 | this.Close();
60 | }
61 |
62 | ///
63 | /// Handles the Click event of the OK control.
64 | ///
65 | ///
66 | /// The source of the event.
67 | ///
68 | ///
69 | /// The instance containing the event data.
70 | ///
71 | private void OkClick(object sender, RoutedEventArgs e)
72 | {
73 | this.DialogResult = true;
74 | App.Project.VideoData.UseEveryNthPoint = (int)this.UseEveryNthPointNumericUpDown.Value;
75 | this.Close();
76 | }
77 |
78 |
79 | }
80 | }
--------------------------------------------------------------------------------
/VianaNET/Modules/DataGrid/TimeUnitDialog.xaml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/VianaNET/Modules/DataGrid/TimeUnitDialog.xaml.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2021 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | // Dr. Adrian Voßkühler
21 | // adrian@vosskuehler.name
22 | //
23 | // The length dialog.
24 | //
25 | // --------------------------------------------------------------------------------------------------------------------
26 |
27 | namespace VianaNET.Modules.DataGrid
28 | {
29 | using System.Windows;
30 |
31 | ///
32 | /// The length dialog.
33 | ///
34 | public partial class TimeUnitDialog
35 | {
36 | ///
37 | /// Initializes a new instance of the class.
38 | ///
39 | public TimeUnitDialog()
40 | {
41 | this.InitializeComponent();
42 | this.ComboUnit.Focus();
43 | }
44 |
45 | ///
46 | /// The cancel_ click.
47 | ///
48 | ///
49 | /// The sender.
50 | ///
51 | ///
52 | /// The e.
53 | ///
54 | private void Cancel_Click(object sender, RoutedEventArgs e)
55 | {
56 | this.Close();
57 | }
58 |
59 | ///
60 | /// The o k_ click.
61 | ///
62 | ///
63 | /// The sender.
64 | ///
65 | ///
66 | /// The e.
67 | ///
68 | private void OK_Click(object sender, RoutedEventArgs e)
69 | {
70 | this.DialogResult = true;
71 | this.Close();
72 | }
73 | }
74 | }
--------------------------------------------------------------------------------
/VianaNET/Modules/DataGrid/template.ods:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/avosskuehler/viana/da1336700ee18b3512434058b6880afc15654a90/VianaNET/Modules/DataGrid/template.ods
--------------------------------------------------------------------------------
/VianaNET/Modules/Video/Dialogs/LengthDialog.xaml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 | km
35 | m
36 | cm
37 | mm
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/VianaNET/Modules/Video/Filter/FilterBase.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // ************************************************************************
4 | // Viana.NET - video analysis for physics education
5 | // Copyright (C) 2021 Dr. Adrian Voßkühler
6 | // ------------------------------------------------------------------------
7 | // This program is free software; you can redistribute it and/or modify it
8 | // under the terms of the GNU General Public License as published by the
9 | // Free Software Foundation; either version 2 of the License, or
10 | // (at your option) any later version.
11 | // This program is distributed in the hope that it will be useful,
12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 | // See the GNU General Public License for more details.
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software Foundation,
17 | // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | // ************************************************************************
19 | //
20 | // Dr. Adrian Voßkühler
21 | // adrian@vosskuehler.name
22 | //
23 | // The filter base.
24 | //
25 | // --------------------------------------------------------------------------------------------------------------------
26 | namespace VianaNET.Modules.Video.Filter
27 | {
28 | using System;
29 |
30 | ///
31 | /// The filter base.
32 | ///
33 | public abstract class FilterBase
34 | {
35 |
36 |
37 | ///
38 | /// The a.
39 | ///
40 | public const short A = 3;
41 |
42 | ///
43 | /// The b.
44 | ///
45 | public const short B = 0;
46 |
47 | ///
48 | /// The g.
49 | ///
50 | public const short G = 1;
51 |
52 | ///
53 | /// The r.
54 | ///
55 | public const short R = 2;
56 |
57 |
58 |
59 |
60 |
61 | ///
62 | /// Height of processed image.
63 | ///
64 | public int ImageHeight { get; set; }
65 |
66 | ///
67 | /// Height of processed image.
68 | ///
69 | public int ImagePixelSize { get; set; }
70 |
71 | ///
72 | /// Width of processed image.
73 | ///
74 | public int ImageStride { get; set; }
75 |
76 | ///
77 | /// Width of processed image.
78 | ///
79 | public int ImageWidth { get; set; }
80 |
81 |
82 |
83 |
84 |
85 | ///
86 | /// The process in place.
87 | ///
88 | ///
89 | /// The image.
90 | ///
91 | public abstract void ProcessInPlace(IntPtr image);
92 |
93 |
94 | }
95 | }
--------------------------------------------------------------------------------
/VianaNET/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.InteropServices;
3 | using System.Windows;
4 |
5 | // Allgemeine Informationen über eine Assembly werden über die folgenden
6 | // Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
7 | // die einer Assembly zugeordnet sind.
8 | [assembly: AssemblyTitle("Viana.NET")]
9 | [assembly: AssemblyDescription("Automatische Videoanalyse")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Freie Universität Berlin")]
12 | [assembly: AssemblyProduct("Viana.NET")]
13 | [assembly: AssemblyCopyright("Copyright @ Dr. Adrian Voßkühler 2023")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
18 | // für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
19 | // COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
20 | [assembly: ComVisible(false)]
21 |
22 | //Um mit dem Erstellen lokalisierbarer Anwendungen zu beginnen, legen Sie
23 | //ImCodeVerwendeteKultur in der .csproj-Datei
24 | //in einer fest. Wenn Sie in den Quelldateien beispielsweise Deutsch
25 | //(Deutschland) verwenden, legen Sie auf \"de-DE\" fest. Heben Sie dann die Auskommentierung
26 | //des nachstehenden NeutralResourceLanguage-Attributs auf. Aktualisieren Sie "en-US" in der nachstehenden Zeile,
27 | //sodass es mit der UICulture-Einstellung in der Projektdatei übereinstimmt.
28 |
29 | //[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
30 |
31 |
32 | [assembly: ThemeInfo(
33 | ResourceDictionaryLocation.None, //Speicherort der designspezifischen Ressourcenwörterbücher
34 | //(wird verwendet, wenn eine Ressource auf der Seite nicht gefunden wird,
35 | // oder in den Anwendungsressourcen-Wörterbüchern nicht gefunden werden kann.)
36 | ResourceDictionaryLocation.SourceAssembly //Speicherort des generischen Ressourcenwörterbuchs
37 | //(wird verwendet, wenn eine Ressource auf der Seite nicht gefunden wird,
38 | // designspezifischen Ressourcenwörterbuch nicht gefunden werden kann.)
39 | )]
40 |
41 |
42 | // Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
43 | //
44 | // Hauptversion
45 | // Nebenversion
46 | // Buildnummer
47 | // Revision
48 | //
49 | // Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
50 | // indem Sie "*" wie unten gezeigt eingeben:
51 | // [assembly: AssemblyVersion("1.0.*")]
52 | [assembly: AssemblyVersion("6.6.*")]
53 | [assembly: AssemblyFileVersion("6.6.1")]
54 | [assembly: Guid("1E23CAD1-6F4B-4a08-BF9B-91E27D8E2503")]
55 |
--------------------------------------------------------------------------------
/VianaNET/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | 6
7 |
8 |
9 |
10 |
11 |
12 | de
13 |
14 |
15 | de
16 |
17 |
18 | #00000000
19 |
20 |
21 |
--------------------------------------------------------------------------------
/VianaNET/VianaNET.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | publish\
5 |
6 |
7 |
8 |
9 |
10 | de-DE
11 | false
12 |
13 |
14 | false
15 |
16 |
--------------------------------------------------------------------------------
/VianaNET/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 | 6
31 |
32 |
33 |
34 |
35 |
36 | de
37 |
38 |
39 | de
40 |
41 |
42 | #00000000
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/VianaNET/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------