forked from PNNL-Comp-Mass-Spec/MASIC
-
Notifications
You must be signed in to change notification settings - Fork 0
/
clsBinningOptions.cs
80 lines (67 loc) · 2.13 KB
/
clsBinningOptions.cs
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
namespace MASIC
{
public class clsBinningOptions
{
#region "Properties"
public float StartX { get; set; }
public float EndX { get; set; }
public float BinSize
{
get => mBinSize;
set
{
if (value <= 0)
value = 1;
mBinSize = value;
}
}
public float IntensityPrecisionPercent
{
get => mIntensityPrecisionPercent;
set
{
if (value < 0 || value > 100)
value = 1;
mIntensityPrecisionPercent = value;
}
}
public bool Normalize { get; set; }
/// <summary>
/// Sum all of the intensities for binned ions of the same bin together
/// </summary>
/// <returns></returns>
public bool SumAllIntensitiesForBin { get; set; }
public int MaximumBinCount
{
get => mMaximumBinCount;
set
{
if (value < 2)
value = 10;
if (value > 1000000)
value = 1000000;
mMaximumBinCount = value;
}
}
#endregion
#region "Classwide variables"
private float mBinSize = 1;
private float mIntensityPrecisionPercent = 1;
private int mMaximumBinCount = 100000;
#endregion
/// <summary>
/// Reset binning options to default
/// </summary>
public void Reset()
{
var defaultOptions = clsCorrelation.GetDefaultBinningOptions();
StartX = defaultOptions.StartX;
EndX = defaultOptions.EndX;
BinSize = defaultOptions.BinSize;
IntensityPrecisionPercent = defaultOptions.IntensityPrecisionPercent;
Normalize = defaultOptions.Normalize;
SumAllIntensitiesForBin = defaultOptions.SumAllIntensitiesForBin;
MaximumBinCount = defaultOptions.MaximumBinCount;
}
}
}