MainWindow 0 0 1230 875 1142 0 MainWindow 0 0 500 0 0 0 500 300 0 0 460 38 false 0 0 460 50 false false Expand header file information false true 0 0 0 23 16777215 23 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:'Noto Sans'; 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> 0 0 540 0 false 0 0 16777215 23 #lcdNumberFID1Length { color: green; background: black; } #lcdNumberFID1Length:disabled { color: grey; background: dark grey; } 1 0 QLCDNumber::Flat <html><head/><body><p>Number of pulse moments (q)</p></body></html> Num q false 0 0 16777215 23 #lcdNumberFID2Length { color: green; background: black; } #lcdNumberFID2Length:disabled { color: grey; background: dark grey; } 1 0 QLCDNumber::Flat re-sampling ν [Hz] false 0 0 #lcdNumberSampFreq { color: green; background: black; } #lcdNumberSampFreq:disabled{ color: grey; background: dark grey; } 1 0 5 QLCDNumber::Flat 0 0 #lcdNumberTuneuF { color: green; background: black; } #lcdNumberTuneuF:disabled { color: grey; background: dark grey; } 1 0 QLCDNumber::Flat Pulse Type total dead time [ms] false 0 0 #lcdNumberResampFreq { color: green; background: black; } #lcdNumberResampFreq:disabled { color: grey; background: dark grey; } 1 0 QLCDNumber::Flat 0 0 #lcdNumberNQ { color: green; background: black; } #lcdNumberNQ:disabled{ color: grey; background: dark grey; } QLCDNumber::Flat FID 2 length [s] τ Delay [ms] 0 0 #lcdNumberTauPulse1 { color: green; background: black; } #lcdNumberTauPulse1:disabled { color: grey; background: dark grey; } QFrame::Raised 1 0 QLCDNumber::Flat false 0 0 #lcdTotalDeadTime { color: green; background: black; } #lcdTotalDeadTime:disabled { color: grey; background: dark grey; } 1 0 QLCDNumber::Flat τ Pulse 1 [ms] FID 1 length [s] Tx tuning [μF] τ Pulse 2 [ms] Instrument sampling ν [Hz] 0 0 8 false #lcdNumberNuTx { color: green; background: black; } #lcdNumberNuTx:disabled { color: grey; background: dark grey; } QFrame::Raised 1 0 QLCDNumber::Flat 0.000000000000000 false 0 0 16777215 23 #lcdNumberTauDelay { color: green; background: black; } #lcdNumberTauDelay:disabled { color: grey; background: dark grey; } 1 0 QLCDNumber::Flat ν Tx [Hz] 0 0 64 23 64 23 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:'Noto Sans'; font-size:12pt; 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> 0 0 #lcdNumberTauPulse2 { color: green; background: black; } #lcdNumberTauPulse2:disabled{ color: grey; background: dark grey; } 1 0 QLCDNumber::Flat 0 0 550 0 550 16777215 true 0 0 537 1025 0 0 0 0 16777215 16777215 0 0 525 0 525 16777215 true Qt::LeftToRight 0 Qt::ElideLeft true false true 0 0 940 0 16777215 16777215 Load false 0 0 505 125 505 16777215 Input parameters Data Chs. 16777215 16777215 <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 #loadDataPushButton { background: green; } #loadDataPushButton:disabled { background: black; } Load Data Process FID 16777215 16777215 <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 false Plot RAW true 16777215 16777215 <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 Reference Chs. 16777215 16777215 <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 16777215 16777215 <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 Stacks Dead time [ms] <html><head/><body><p>If you would like to only process certain pulse moments you can specify the q indices to process. This also uses python conventions, so for instance 0:5,9:14 would process indices 0,1,2,3,4,9,10,11,12,13,14. </p></body></html> optional Q indices false 0 0 505 90 505 16777215 Downsample and truncate (anti-alias) true 16777215 16777215 <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 Truncate [ms] 16777215 16777215 1 5 5 Downsample factor #downSampleGO { background: green; } #downSampleGO:disabled{ background: black; } GO Plot true false 0 0 505 90 505 16777215 FD Window Filter (Central freq from IIR Band-Pass) true dead time [ms] design #windowFilterGO { background: green; } #windowFilterGO:disabled{ background: black; } GO Width [Hz] 1 1200.000000000000000 600.000000000000000 0 0 #lcdWinDead { color: green; background: black; } #lcdWinDead:disabled { color: grey; background: dark grey; } QLCDNumber::Flat Type Hamming Hanning Flat top Rectangular <html><head/><body><p>Sets whether or not the dead time will be trimmed from the beginning and end of the signal. When doing a cascade of filters, users may wish to hold off on edge effect removal. </p></body></html> Trim dead time true false 0 0 505 180 505 16777215 IIR Band-Pass Filter true false Pass Band [Hz] #bandPassGO { background: green; } #bandPassGO:disabled{ background: black; } GO 0 0 0 0 16777215 16777215 #lcdNumberFTauDead { color: green; background: black; } #lcdNumberFTauDead:disabled { color: grey; background: dark grey; } 5 QLCDNumber::Flat Order Central ν Hz design 100.000000000000000 1600.000000000000000 280.000000000000000 gstop [dB] 25.000000000000000 600.000000000000000 5.000000000000000 50.000000000000000 0 0 #lcdNumberFilterOrder { color: green; background: black; } #lcdNumberFilterOrder:disabled { color: grey; background: dark grey; } QLCDNumber::Flat 3 1.000000000000000 0.010000000000000 0.010000000000000 Type false Plot true true <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 5.000000000000000 Stop Band [Hz] gpass [dB] 0 0 true true Hello Butterworth Chebychev Type II Elliptic dead time [ms] false 0 0 505 100 505 200 Combine (sum) data channels true Type sum difference 100 16777215 <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 0 0 <html><head/><body><p>In case of more than two data channels, would you like to sum all of the channels together?</p></body></html> Sum All Noise removal <html><head/><body><p>This tab contains noise cancellation algorithms. The frequency-domain algorithm is often less effective than the time domain approach. We often discourage using the frequency domain algorithm. </p></body></html> false 0 0 505 100 16777215 430 <html><head/><body><p>When reference channels are not available, noise can be removed through harmonic modelling. Users can specify the approximate base frequency. The algorithm utilizes a non-linear search for the actual frequency to use. The number of harmonics can also be specified. </p></body></html> Model-based harmonic removal true true First harmonic 2 N segments Qt::LeftToRight #harmonicGO {background: green;} #harmonicGO:disabled{background: black;} GO Last harmonic 2 1 3 25000.000000000000000 60.000000000000000 Plot true #lcdf0NK2 { color: green; background: black; } #lcdf0NK2:disabled { color: grey; background: dark grey; } QLCDNumber::Flat 1 Sub-harmonics Qt::Horizontal 2 40 #lcdH1F { color: green; background: black; } #lcdH1F:disabled { color: grey; background: dark grey; } QLCDNumber::Flat Last harmonic 1 Qt::Horizontal 1 50 1 Qt::Horizontal Base freq. search Qt::Horizontal Qt::Horizontal Sub-harmonics First harmonic 1 1 2 1 25000.000000000000000 0.100000000000000 60.000000000000000 #lcdH1F2{ color: green; background: black; } #lcdH1F2:disabled { color: grey; background: dark grey; } QLCDNumber::Flat Qt::Horizontal Base freq. 2 <html><head/><body><p>Would you like to calculate subharmonics? For instance, setting this to 1, will calculate only the exact harmonics, setting this to 2 will calculate 1/2 step subharmonics (i.e. if the baseline frequency is 60 Hz, this will result in calcualtion of 30 Hz subharmonics)</p></body></html> 1 3 1 N freqs 2 40 #lcdf0NK { color: green; background: black; } #lcdf0NK:disabled { color: grey; background: dark grey; } QLCDNumber::Flat 0 #lcdHNF { color: green; background: black; } #lcdHNF:disabled { color: grey; background: dark grey; } QLCDNumber::Flat Qt::Horizontal 1 100 1 #lcdHNF2 { color: green; background: black; } #lcdHNF2:disabled { color: grey; background: dark grey; } QLCDNumber::Flat Base freq. 1 Qt::Horizontal <html><head/><body><p>When searching for the fundamental frequency, should the entire ensemble of harmonics be included? Reducing this number can accelerate the algorithm significantly. If a selection other than &quot;All&quot; is chosen, once the fundamental frequency is found, the whole set of harmonics will be included in the modelling. </p></body></html> All First <html><head/><body><p>If bounds is selected, this is the variance in the fundamental frequency which will be searched from the <span style=" font-weight:600;">prior </span>result. As such, for each record, the fundamental frequency can shift by this much (in either direction) from the prior record. </p></body></html> 3 0.005000000000000 10.000000000000000 0.001000000000000 0.125000000000000 Bounded search true proc ref. channels true Qt::Horizontal false 0 0 505 120 505 200 <html><head/><body><p>This filter impliments a time-domain adaptive noise cancelation approach. The number of filter taps can be specified. The filter works backwards and starts at the END of the record working towards the begining. There is some degree of roll-on training, and it's generally a good idea to truncate by roughly the number of taps times the sampling frequency. </p></body></html> Time-domain RLS Active Noise Suppresion false true <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 Forgetting factor, how quickly does the filter adapt. 3 0.950000000000000 1.000000000000000 0.990000000000000 Truncate [ms] Mu Forgetting factor (λ) PCA on ref Filter Taps <html><head/><body><p>Number of taps in the time-domain filter</p></body></html> 2000 200 #adaptGO { background: green; } #adaptGO:disabled{ background: black; } GO 4 0.000100000000000 0.100000000000000 0.000100000000000 0.010000000000000 <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 Qt::Horizontal false Plot true true false 0 0 505 200 505 200 <html><head/><body><p>This filter impliments the classic frequency domain transfer function approach to noise cancellation. However, Akvo does not have a mechanism to cull records at this stage and as such, performance of this filter is subpar whenever broadband (spikes) features are present in the record. In most instances the tie domain RLS approach above is preferable. </p><p><br/></p><p>Use of this filter is generally discouraged. </p></body></html> FD (static transfer function) Noise cancellation true Uses central v from Band-pass filter #adaptFDGO { background: green; } #adaptFDGO:disabled{ background: black; } GO 16777215 20 Utilizes a window filter from load QC false 0 0 505 100 505 150 Pulse Moment Calculation true 0 0 0 0 16777215 40 #calcQGO { background: green; } #calcQGO:disabled{ background: black; } GO 0 0 0 0 16777215 16777215 Fourier-based calculation false 0 0 505 150 505 16777215 TD SmartStac&k^TM true Outlier test MAD none #FDSmartStackGO { background: green; } #FDSmartStackGO:disabled{ background: black; } GO <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 0 505 100 505 200 &Quadrature Detect true Trust region reflective Dogbox Levenberg-Marquardt false #plotQD { background: green; } #plotQD:disabled{ background: black; } PLOT false Method/loss 0 2 #qdGO { background: green; } #qdGO:disabled{ background: black; } GO Real/Imag Amp/Phase Phased Trim linear soft L1 Cauchy Huber Qt::Horizontal Qt::Horizontal Qt::Horizontal false 0 0 505 200 505 200 Gate integrate true Gates per decade #gateIntegrateGO { background: green; } #gateIntegrateGO:disabled{ background: black; } GO false #plotGI { background: green; } #plotGI:disabled{ background: black; } PLOT false 6 30 20 Real/Imag Amp/Phase Phased true META true 0 0 505 250 505 16777215 Survey site information Ellipsoid <html><head/><body><p>Ellipsoid model for UTM coordinates</p></body></html> Local WGS84 NAD83 <html><head/><body><p>B<span style=" vertical-align:sub;">0</span> [inc°,dec°,nT]</p></body></html> -500.000000000000000 500.000000000000000 Location true false 3000.000000000000000 <html><head/><body><p>Latitude band</p></body></html> Local A B C D E F G H J K L M N P Q R S T U V W X Lat. Band true 2019 1 1 1 80000.000000000000000 50000.000000000000000 1 -90.000000000000000 90.000000000000000 0.000000000000000 Coordinates Qt::Horizontal 1 -90.000000000000000 90.000000000000000 45.000000000000000 16777215 20 UTM 20.000000000000000 true [Date, time,°C] <html><head/><body><p>Specify the UTM zone. </p></body></html> Local 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 Larmor 𝜈 [Hz] Tx offset [Hz] Surface Loops #removeLoopButton { background: red; } #removeLoopButton:disabled { background: black; } Remove Tx/Rx Tx Only Rx Only Noise ref. #addLoopButton { background: green; } #addLoopButton:disabled { background: black; } Add Circular polygon figure-8 #plotLoops { background: green; } #plotLoops:disabled { background: black; } Plot loops Enter loop name true Comments and field notes 0 0 490 0 490 420 false 1D Kernel Resistivity model <html><head/><body><p>This table is used to enter a resistivity model. For each layer the top and bottom interfaces should be specified in m, z is positive down. The top layer must begin at 0. The bottom layer is infinite and should not have a bottom specified. </p></body></html> 0 100 Align with Akvo processed dataset Rx Qt::AlignCenter Tx Qt::AlignCenter Data 16777215 50 8 true 16777215 60 true QAbstractItemView::MultiSelection 16777215 60 true QAbstractItemView::MultiSelection 0 0 480 300 Integration Parameters 0.010000000000000 0.100000000000000 1.000000000000000 300.000000000000000 125.000000000000000 min. level -10000000000.000000000000000 100000000000.000000000000000 branch tol [nT] 1 18 8 Layers Origin 3 0.001000000000000 1.000000000000000 Size easting 1.000000000000000 500.000000000000000 200.000000000000000 max. level northing 1.000000000000000 500.000000000000000 200.000000000000000 -10000000.000000000000000 100000000.000000000000000 1 10 depth 1 200 50 N Layers 100 0 Geometric Log Linear spacing Qt::Horizontal Thick 1 Thick N 0.010000000000000 0.500000000000000 0.010000000000000 10.000000000000000 100 40 #calcK0{ background: green; } #calcK0:disabled { background: black; } Calc Kernel Modelling 40 80 411 141 1 0 0 96 26 Page 1 0 0 96 26 Page 2 QT Inv. 16777215 200 QT T2* distribution T2* Low (ms) 1.000000000000000 30.000000000000000 10.000000000000000 T2* High (ms) 10.000000000000000 2000.000000000000000 1000.000000000000000 N T2* 10 35 16777215 500 QT Inversion initial alpha Smallest Smallest Smoothest Both 16777215 60 8 true Select Kernel T2* model objective Depth model objective #invertButton { font-size:29pt; font-weight: bold; color: white; background: red; } Invert Chan. 1 Chan. 2 Chan. 3 Chan. 4 <html><head/><body><p>The dephased (aka quadrature detected, aka corrected amplitude) inversion introduces non-linearity to the otherwise linear forward operator in that out of phase signals cannot destructively interefere with a real forward operator. Normally this impact is pretty minimal and can be ignored. However, in conductive media this is not always the case. Akvo can perform a non-linear inversion after the linear one to correct for this. The result of the linear inversion is used as an initial model in the non-linear inversion and the same level of regularisation is used. </p></body></html> Non Linear refinement true false Data channel 10000000 1000000 16777215 60 8 true Select Data <html><head/><body><p>Geophysical inverse problems do not have a true, unambigous depth of investigation. </p><p><br/></p><p>Akvo makes a calculation of the DOI based on a resolution analysis approach. A pseudo 1D total water point spread function is calculated by inverting kronecker delta models at the midpoint of the <span style=" font-style:italic;">T</span><span style=" font-style:italic; vertical-align:sub;">2</span><span style=" font-style:italic; vertical-align:super;">*</span> distribution at he same regularisation level as the inversion. The recovered models are summed across the <span style=" font-style:italic;">T</span><span style=" font-style:italic; vertical-align:sub;">2</span><span style=" font-style:italic; vertical-align:super;">*</span> space in order to reduce variables in the analysis. hese models are then used as rows in the construction of the point spread function (Model Resolution Matrix). The point spread function is used to identify the point at which the peak depth in the recovered models deviates from the input model by at least 10 %. This is an arbitrary threshold, but is the same one used in[1] </p><p><br/></p><p>[1] Müller-Petke, M., &amp; Yaramanci, U. (2008). Resolution studies for magnetic resonance sounding (MRS) using the singular value decomposition. <span style=" font-style:italic;">Journal of Applied Geophysics</span>, <span style=" font-style:italic;">66</span>(3-4), 165-175. </p></body></html> Calculate DOI true false Appraisal 0 0 505 327 Surface Loops Log 10 30 500 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:'Noto Sans'; font-size:12pt; 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;"><span style=" font-family:'Sans Serif'; font-size:9pt;">All processing steps are recorded here for your records</span></p></body></html> 180 10 121 20 Processing log 0 0 1230 30 File Help Workflows &Open GMR Header Open Akvo Preprocessed dataset Open VC Preprocessed dataset Save processing Export to Lemma Close About true true Preprocessing true Modelling true Inversion Load MIDI 2 Data MyDynamicMplCanvas QWidget
akvo.gui.mydynamicmplcanvas.h
1 clicked()
MyDynamicMplCanvasNavigator QWidget
akvo.gui.mydynamicmplcanvasnavigator.h