MainWindow
0
0
1000
980
0
0
60
60
1000
980
Akvo - sNMR Workbench
1.000000000000000
true
0
0
0
0
1000
980
-
16777215
980
true
0
0
982
921
-
0
0
940
0
Qt::LeftToRight
0
940
870
Preprocess RAW
false
5
750
460
125
0
0
460
125
Input parameters
110
30
91
21
<html><head/><body><p>Set the stacks that you would like processed.</p><p>This must be a valid set of numpy array indices. Remember that Python uses non end-inclusive indexing. </p><p>So things like [1:24] will include stacks 1-23</p><p>Furthermore [1:8,12:24] will include stacks 1-7 and 12:23. Any list of valid indices will be accepted, but they must be comma seperated. </p></body></html>
required
10
30
51
20
Stacks
10
65
101
16
Data Chs.
110
60
91
21
<html><head/><body><p>Set the data channels that you would like processed.</p><p>This must be a valid set of numpy array indices. Remember that Python uses non end-inclusive indexing. </p><p>So things like [1:3] will use channels 1 and 2</p><p>Any list of valid indices will be accepted, but they must be comma seperated. </p></body></html>
required
220
36
121
16
Dead time [ms]
360
30
91
25
<html><head/><body><p>This is the instrument dead time that is used. You may remove additonal or less dead time as an option. By default Akvo uses the recommended instrument dead times.</p></body></html>
0.500000000000000
0.500000000000000
5.000000000000000
220
64
121
16
Reference Chs.
360
60
91
21
<html><head/><body><p>Set the reference channels that you would like processed.</p><p>This must be a valid set of numpy array indices. Remember that Python uses non end-inclusive indexing. </p><p>So things like [1:3] will use channels 1 and 2</p><p>Any list of valid indices will be accepted, but they must be comma seperated. </p><p>Optionally no reference channels are allowed, just leave this field black so it says none</p></body></html>
none
10
95
91
16
Process FID
110
90
91
25
<html><head/><body><p>For T1 or CPMG pulses, which pulse(s) would you like to process. Note that for very short delay T1 pulses, the first pulse may be disabled. </p></body></html>
false
360
90
91
31
#loadDataPushButton {
background: green;
}
#loadDataPushButton:disabled {
background: black;
}
Load Data
false
224
90
111
21
Plot RAW
true
false
470
270
480
201
0
0
480
180
IIR Band-Pass Filter
true
false
300
30
171
22
true
Hello
-
Butterworth
-
Chebychev Type II
-
Elliptic
370
170
99
23
#bandPassGO {
background: green;
}
#bandPassGO:disabled{
background: black;
}
GO
130
60
71
22
25.000000000000000
500.000000000000000
5.000000000000000
50.000000000000000
130
90
71
22
100.000000000000000
1000.000000000000000
280.000000000000000
10
62
111
16
Pass Band [Hz]
10
93
111
16
Stop Band [Hz]
370
140
99
23
design
370
60
64
23
#lcdNumberFilterOrder {
color: green;
background: black;
}
#lcdNumberFilterOrder:disabled {
color: grey;
background: dark grey;
}
QLCDNumber::Flat
370
90
64
23
#lcdNumberFTauDead {
color: green;
background: black;
}
#lcdNumberFTauDead:disabled {
color: grey;
background: dark grey;
}
QLCDNumber::Flat
230
60
57
14
Order
230
91
121
20
dead time [ms]
10
122
81
16
gpass [dB]
10
153
91
16
gstop [dB]
130
120
71
22
3
1.000000000000000
0.010000000000000
0.010000000000000
130
150
71
22
5.000000000000000
130
30
71
25
<html><head/><body><p>In case of off-resonant transmitter pulse, you can set the central frequency that will be used for all processing. This has the biggest impact on the band-pass filter, and the frequencies used in inversion. </p></body></html>
0
100.000000000000000
5001.000000000000000
1.000000000000000
1000.000000000000000
10
33
91
16
Central ν Hz
230
32
41
16
Type
370
250
99
23
save
false
10
180
111
21
Plot
true
true
false
5
510
460
230
0
0
460
230
false
Header file info
false
10
20
441
41
0
0
8
true
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Sans Serif'; font-size:8pt; font-weight:400; font-style:italic;">
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'DejaVu Serif'; font-size:9pt;">Load supported RAW Dataset header from file menu</span></p></body></html>
10
70
81
21
Pulse Type
160
70
271
23
0
0
true
true
Qt::ScrollBarAlwaysOff
Qt::ScrollBarAlwaysOff
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:italic;">
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Serif'; font-size:10pt;"><br /></p></body></html>
160
100
64
23
0
0
8
false
#lcdNumberNuTx {
color: green;
background: black;
}
#lcdNumberNuTx:disabled {
color: grey;
background: dark grey;
}
QFrame::Raised
1
0
QLCDNumber::Flat
0.000000000000000
370
100
64
23
#lcdNumberTuneuF {
color: green;
background: black;
}
#lcdNumberTuneuF:disabled {
color: grey;
background: dark grey;
}
1
0
QLCDNumber::Flat
160
130
64
23
#lcdNumberTauPulse1 {
color: green;
background: black;
}
#lcdNumberTauPulse1:disabled {
color: grey;
background: dark grey;
}
QFrame::Raised
1
0
QLCDNumber::Flat
10
100
91
21
ν Tx [Hz]
10
130
141
21
τ Pulse 1 [ms]
250
160
91
21
τ Delay [ms]
160
160
64
23
#lcdNumberTauPulse2 {
color: green;
background: black;
}
#lcdNumberTauPulse2:disabled{
color: grey;
background: dark grey;
}
1
0
QLCDNumber::Flat
250
100
111
21
Tx tuning [μF]
250
130
111
21
ν Sampling [Hz]
false
370
130
64
23
#lcdNumberSampFreq {
color: green;
background: black;
}
#lcdNumberSampFreq:disabled{
color: grey;
background: dark grey;
}
1
0
5
QLCDNumber::Flat
false
370
160
64
23
#lcdNumberTauDelay {
color: green;
background: black;
}
#lcdNumberTauDelay:disabled {
color: grey;
background: dark grey;
}
1
0
QLCDNumber::Flat
10
160
131
21
τ Pulse 2 [ms]
160
190
64
23
#lcdNumberNQ {
color: green;
background: black;
}
#lcdNumberNQ:disabled{
color: grey;
background: dark grey;
}
QLCDNumber::Flat
10
190
141
21
<html><head/><body><p>Number of pulse moments (q)</p></body></html>
Num q
false
470
20
480
90
0
0
480
90
Downsample and truncate (anti-alias)
true
10
33
111
16
Truncate [ms]
170
30
101
25
<html><head/><body><p>Set the final length of your processed record. Note that the use of Adaptive filtering allows for the removal of additional late times. If you do not wish to truncate, leave as 0.</p></body></html>
1000
0
370
60
99
23
#downSampleGO {
background: green;
}
#downSampleGO:disabled{
background: black;
}
GO
10
63
131
16
Downsample factor
170
60
101
25
1
5
5
3
10
460
460
0
0
460
460
3
470
460
30
0
0
460
30
false
470
500
480
120
0
0
480
120
Time-domain RLS Active Noise Suppresion
false
true
370
90
99
23
#adaptGO {
background: green;
}
#adaptGO:disabled{
background: black;
}
GO
150
30
71
22
<html><head/><body><p>Number of taps in the time-domain filter</p></body></html>
2000
200
150
60
71
22
Forgetting factor, how quickly does the filter adapt.
0.200000000000000
1.000000000000000
0.990000000000000
10
32
71
16
Filter Taps
10
62
131
16
Forgetting factor (λ)
10
92
111
16
Truncate [ms]
150
90
71
22
<html><head/><body><p>This filter is a time-domain filter that takes some time to get going. Time-domain filters do a better job compared to frequency-domain filters in the presence of non-stationary noise. </p><p>The filter is run backwards, so often the late times will not be cancelled as well. You may trim records off the back using this input. </p></body></html>
<html><head/><body><p>This filter is a time-domain filter that takes some time to get going. Time-domain filters do a better job compared to frequency-domain filters in the presence of non-stationary noise. </p><p>The filter is run backwards, so often the late times will not be cancelled as well. You may trim records off the back using this input. </p></body></html>
1000.000000000000000
800.000000000000000
370
30
81
22
4
0.000100000000000
0.100000000000000
0.000100000000000
0.010000000000000
260
33
57
14
Mu
260
63
91
16
PCA on ref
370
60
79
22
<html><head/><body><p>Perform priciple component analysis on the reference channels? If <span style=" font-weight:600;">yes</span>, PCA will performed on the reference channels and the rotated channels will be used for noise cancelation rather than the raw noise channels. In the case of multiple noise sources where one dominantes across channels, better performance can be realized.</p></body></html>
1
-
Yes
-
No
false
470
150
480
90
0
90
FD Window Filter
true
120
30
111
23
-
Hamming
-
Hanning
-
Flat top
-
Rectangular
20
35
57
14
Type
20
63
71
16
Width [Hz]
120
60
111
22
1
1000.000000000000000
600.000000000000000
370
60
99
23
#windowFilterGO {
background: green;
}
#windowFilterGO:disabled{
background: black;
}
GO
180
3
271
16
Central freq from IIR Band-Pass
370
30
99
23
design
260
60
64
23
#lcdWinDead {
color: green;
background: black;
}
#lcdWinDead:disabled {
color: grey;
background: dark grey;
}
QLCDNumber::Flat
250
40
121
20
dead time [ms]
false
470
760
480
101
0
100
Processed data paramaters
20
33
121
16
FID 1 length [s]
false
150
30
64
23
#lcdNumberFID1Length {
color: green;
background: black;
}
#lcdNumberFID1Length:disabled {
color: grey;
background: dark grey;
}
1
0
QLCDNumber::Flat
false
150
60
64
23
#lcdNumberFID2Length {
color: green;
background: black;
}
#lcdNumberFID2Length:disabled {
color: grey;
background: dark grey;
}
1
0
QLCDNumber::Flat
20
63
121
16
FID 2 length [s]
false
370
33
64
23
#lcdNumberResampFreq {
color: green;
background: black;
}
#lcdNumberResampFreq:disabled {
color: grey;
background: dark grey;
}
1
0
QLCDNumber::Flat
240
33
121
21
ν Sampling [Hz]
240
63
121
16
total dead time
false
370
60
64
23
#lcdTotalDeadTime {
color: green;
background: black;
}
#lcdTotalDeadTime:disabled {
color: grey;
background: dark grey;
}
1
0
QLCDNumber::Flat
false
470
650
481
80
Combine (sum) data channels
true
370
50
99
23
<html><head/><body><p>For some types of multichannel data, the channels can be summed into composite channels. This method sums all channels down to a recursion level of 2. For single loop datasets do not use this method. </p></body></html>
#sumDataGO {
background: green;
}
#sumDataGO:disabled{
background: black;
}
GO
Data QC
3
10
941
571
0
0
460
460
3
580
460
30
0
0
460
30
false
0
750
460
121
0
0
460
100
TD SmartStac&k^TM
true
90
65
78
25
-
MAD
-
none
10
70
71
16
Outlier test
350
70
99
23
#FDSmartStackGO {
background: green;
}
#FDSmartStackGO:disabled{
background: black;
}
GO
90
90
121
22
<html><head/><body><p>The threshold value used in the median absolute deviation outlier test. The default value of 1.4826 follows from an assumption of Gaussian noise, lower cutoff values are stricter and will throw out more samples. </p></body></html>
4
10.000000000000000
1.480000000000000
false
0
640
461
101
Pulse Moment Calculation
true
350
70
99
23
#calcQGO {
background: green;
}
#calcQGO:disabled{
background: black;
}
GO
false
479
640
461
121
&Quadrature Detect
true
350
60
99
23
#qdGO {
background: green;
}
#qdGO:disabled{
background: black;
}
GO
90
30
91
28
0
0
20
34
61
18
Trim
230
90
101
22
-
Real/Imag
-
Amp/Phase
-
Phased
false
350
90
99
23
#plotQD {
background: green;
}
#plotQD:disabled{
background: black;
}
PLOT
false
false
480
780
461
91
Gate integrate
true
350
30
99
23
#gateIntegrateGO {
background: green;
}
#gateIntegrateGO:disabled{
background: black;
}
GO
130
28
71
23
6
30
20
20
30
111
16
Gates per decade
230
60
101
22
-
Real/Imag
-
Amp/Phase
-
Phased
false
350
60
99
23
#plotGI {
background: green;
}
#plotGI:disabled{
background: black;
}
PLOT
false
Survey Parameters
-
Survey site information
20
37
111
16
Temperature [°C]
20
79
81
16
Survey date
560
40
61
16
Location
560
60
351
81
420
70
101
31
1
-90.000000000000000
90.000000000000000
0.000000000000000
420
30
101
31
1
-90.000000000000000
90.000000000000000
45.000000000000000
300
30
111
20
B Inclination [°]
300
75
111
20
B Declination [°]
420
110
101
31
1
80000.000000000000000
50000.000000000000000
300
115
111
20
B Intensity [nT]
20
160
901
16
Qt::Horizontal
10
180
191
31
<html><head/><body><p>Comments and field notes</p></body></html>
30
220
881
631
false
140
110
118
29
true
140
70
112
29
true
24
117
81
16
Survey time
140
30
111
29
20.000000000000000
Kernel calc
20
70
441
271
<html><head/><body><p>This table is used to enter coil geometries the format is as follows: each row specifies a single point on a coil. The first column is the coil index (using the GMR channel is useful), the next three colums specify the point in Northing, Easting, and Elevation. These can either be local coordinates or global ones. The final column specifies the loop radius if it is a circle or figure 8, for non circular or figure 8 loops leave this column blank. For figure-8 loops the coils do not need to be touching (see Irons and Kass, 2017). If a given index has 1 row it will be a circular loop, two rows will be a figure 8, and more than that will be a polygonal representation of the points, linearlly interpolated between them. </p></body></html>
20
20
901
16
Qt::Horizontal
20
40
91
16
Surface loops
480
30
500
500
0
0
500
500
480
550
371
301
Integration Parameters
120
30
49
29
120
70
49
29
280
70
70
29
21
34
81
20
min. level
20
75
81
20
max. level
187
75
81
20
branch tol
210
260
141
29
10
160
171
29
10
210
171
31
210
210
141
29
210
160
141
29
10
260
171
29
10
130
63
20
Origin
210
130
63
20
Size
30
360
351
501
<html><head/><body><p>This table is used to enter coil geometries the format is as follows: each row specifies a single point on a coil. The first column is the coil index (using the GMR channel is useful), the next three colums specify the point in Northing, Easting, and Elevation. These can either be local coordinates or global ones. The final column specifies the loop radius if it is a circle or figure 8, for non circular or figure 8 loops leave this column blank. For figure-8 loops the coils do not need to be touching (see Irons and Kass, 2017). If a given index has 1 row it will be a circular loop, two rows will be a figure 8, and more than that will be a polygonal representation of the points, linearlly interpolated between them. </p></body></html>
Forward modelling
false
160
180
480
83
FD (static transfer function) Noise cancellation
true
370
50
99
23
#adaptFDGO {
background: green;
}
#adaptFDGO:disabled{
background: black;
}
GO
20
30
271
16
Utilizes a window filter (as defined above)
20
50
281
16
Uses central v from Band-pass filter
Inversion
290
140
311
141
#invertButton {
font-size:29pt;
font-weight: bold;
color: white;
background: red;
}
Invert
Log
10
30
921
821
0
0
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">All processing steps are recorded here for your records</p></body></html>
420
10
121
20
Processing log
&Close
&About Akvo
Nothing
Temperature
false
&Open GMR RAW header
Open GMR RAW dataset(s)
true
Process
true
Load Avko &Preprocessed dataset
false
Load &VC Preprocessed dataset
true
&Save Preprocessed Dataset
&Export to Lemma
MyDynamicMplCanvas
QWidget
akvo.gui.mydynamicmplcanvas.h
1
clicked()
MyDynamicMplCanvasNavigator
QWidget
akvo.gui.mydynamicmplcanvasnavigator.h
actionClose
triggered()
MainWindow
close()
-1
-1
437
386
actionAboutAkvo
triggered()
MainWindow
show()
-1
-1
424
387