Browse Source

journal work

master
Trevor Irons 6 years ago
parent
commit
2206e61b10
5 changed files with 53 additions and 31 deletions
  1. 12
    12
      GUI/borehole2.py
  2. 10
    10
      GUI/borehole2.ui
  3. 25
    3
      GUI/main.py
  4. 4
    4
      MRProc.py
  5. 2
    2
      decay.py

+ 12
- 12
GUI/borehole2.py View File

2
 
2
 
3
 # Form implementation generated from reading ui file 'borehole2.ui'
3
 # Form implementation generated from reading ui file 'borehole2.ui'
4
 #
4
 #
5
-# Created: Mon Oct 30 10:31:57 2017
6
-#      by: pyside-uic 0.2.15 running on PySide 1.2.2
5
+# Created: Thu Apr  5 08:36:00 2018
6
+#      by: pyside-uic 0.2.15 running on PySide 1.2.4
7
 #
7
 #
8
 # WARNING! All changes made in this file will be lost!
8
 # WARNING! All changes made in this file will be lost!
9
 
9
 
43
         self.scrollArea.setWidgetResizable(True)
43
         self.scrollArea.setWidgetResizable(True)
44
         self.scrollArea.setObjectName("scrollArea")
44
         self.scrollArea.setObjectName("scrollArea")
45
         self.scrollAreaWidgetContents = QtGui.QWidget()
45
         self.scrollAreaWidgetContents = QtGui.QWidget()
46
-        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 964, 800))
46
+        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 970, 800))
47
         sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Maximum)
47
         sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Maximum)
48
         sizePolicy.setHorizontalStretch(0)
48
         sizePolicy.setHorizontalStretch(0)
49
         sizePolicy.setVerticalStretch(0)
49
         sizePolicy.setVerticalStretch(0)
404
         self.gpdSpinBox.setGeometry(QtCore.QRect(220, 30, 71, 22))
404
         self.gpdSpinBox.setGeometry(QtCore.QRect(220, 30, 71, 22))
405
         self.gpdSpinBox.setMinimum(5)
405
         self.gpdSpinBox.setMinimum(5)
406
         self.gpdSpinBox.setMaximum(30)
406
         self.gpdSpinBox.setMaximum(30)
407
-        self.gpdSpinBox.setProperty("value", 14)
407
+        self.gpdSpinBox.setProperty("value", 20)
408
         self.gpdSpinBox.setObjectName("gpdSpinBox")
408
         self.gpdSpinBox.setObjectName("gpdSpinBox")
409
         self.label_41 = QtGui.QLabel(self.gateGroupBox)
409
         self.label_41 = QtGui.QLabel(self.gateGroupBox)
410
         self.label_41.setGeometry(QtCore.QRect(20, 35, 111, 16))
410
         self.label_41.setGeometry(QtCore.QRect(20, 35, 111, 16))
508
         self.maskNSpinBox_4 = QtGui.QSpinBox(self.multiGroupBox)
508
         self.maskNSpinBox_4 = QtGui.QSpinBox(self.multiGroupBox)
509
         self.maskNSpinBox_4.setGeometry(QtCore.QRect(70, 30, 81, 25))
509
         self.maskNSpinBox_4.setGeometry(QtCore.QRect(70, 30, 81, 25))
510
         self.maskNSpinBox_4.setMaximum(100)
510
         self.maskNSpinBox_4.setMaximum(100)
511
-        self.maskNSpinBox_4.setProperty("value", 2)
511
+        self.maskNSpinBox_4.setProperty("value", 1)
512
         self.maskNSpinBox_4.setObjectName("maskNSpinBox_4")
512
         self.maskNSpinBox_4.setObjectName("maskNSpinBox_4")
513
         self.nT2SpinBox = QtGui.QSpinBox(self.multiGroupBox)
513
         self.nT2SpinBox = QtGui.QSpinBox(self.multiGroupBox)
514
         self.nT2SpinBox.setGeometry(QtCore.QRect(70, 60, 81, 25))
514
         self.nT2SpinBox.setGeometry(QtCore.QRect(70, 60, 81, 25))
515
         self.nT2SpinBox.setMinimum(10)
515
         self.nT2SpinBox.setMinimum(10)
516
         self.nT2SpinBox.setMaximum(100)
516
         self.nT2SpinBox.setMaximum(100)
517
-        self.nT2SpinBox.setProperty("value", 20)
517
+        self.nT2SpinBox.setProperty("value", 30)
518
         self.nT2SpinBox.setObjectName("nT2SpinBox")
518
         self.nT2SpinBox.setObjectName("nT2SpinBox")
519
         self.label_30 = QtGui.QLabel(self.multiGroupBox)
519
         self.label_30 = QtGui.QLabel(self.multiGroupBox)
520
         self.label_30.setGeometry(QtCore.QRect(2, 63, 61, 20))
520
         self.label_30.setGeometry(QtCore.QRect(2, 63, 61, 20))
531
         self.hiT2SpinBox.setDecimals(1)
531
         self.hiT2SpinBox.setDecimals(1)
532
         self.hiT2SpinBox.setMinimum(20.0)
532
         self.hiT2SpinBox.setMinimum(20.0)
533
         self.hiT2SpinBox.setMaximum(8000.0)
533
         self.hiT2SpinBox.setMaximum(8000.0)
534
-        self.hiT2SpinBox.setProperty("value", 500.0)
534
+        self.hiT2SpinBox.setProperty("value", 1000.0)
535
         self.hiT2SpinBox.setObjectName("hiT2SpinBox")
535
         self.hiT2SpinBox.setObjectName("hiT2SpinBox")
536
         self.label = QtGui.QLabel(self.multiGroupBox)
536
         self.label = QtGui.QLabel(self.multiGroupBox)
537
         self.label.setGeometry(QtCore.QRect(160, 30, 91, 20))
537
         self.label.setGeometry(QtCore.QRect(160, 30, 91, 20))
1057
         self.horizontalLayout.addWidget(self.scrollArea)
1057
         self.horizontalLayout.addWidget(self.scrollArea)
1058
         MainWindow.setCentralWidget(self.centralwidget)
1058
         MainWindow.setCentralWidget(self.centralwidget)
1059
         self.menubar = QtGui.QMenuBar(MainWindow)
1059
         self.menubar = QtGui.QMenuBar(MainWindow)
1060
-        self.menubar.setGeometry(QtCore.QRect(0, 0, 1000, 25))
1060
+        self.menubar.setGeometry(QtCore.QRect(0, 0, 1000, 22))
1061
         self.menubar.setObjectName("menubar")
1061
         self.menubar.setObjectName("menubar")
1062
         self.menuFile = QtGui.QMenu(self.menubar)
1062
         self.menuFile = QtGui.QMenu(self.menubar)
1063
         self.menuFile.setObjectName("menuFile")
1063
         self.menuFile.setObjectName("menuFile")
1138
         self.headerFileTextBrowser.setHtml(QtGui.QApplication.translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
1138
         self.headerFileTextBrowser.setHtml(QtGui.QApplication.translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
1139
 "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
1139
 "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
1140
 "p, li { white-space: pre-wrap; }\n"
1140
 "p, li { white-space: pre-wrap; }\n"
1141
-"</style></head><body style=\" font-family:\'Ubuntu\'; font-size:8pt; font-weight:400; font-style:italic;\">\n"
1141
+"</style></head><body style=\" font-family:\'Sans\'; font-size:8pt; font-weight:400; font-style:italic;\">\n"
1142
 "<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>", None, QtGui.QApplication.UnicodeUTF8))
1142
 "<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>", None, QtGui.QApplication.UnicodeUTF8))
1143
         self.label_4.setText(QtGui.QApplication.translate("MainWindow", "Pulse Type", None, QtGui.QApplication.UnicodeUTF8))
1143
         self.label_4.setText(QtGui.QApplication.translate("MainWindow", "Pulse Type", None, QtGui.QApplication.UnicodeUTF8))
1144
         self.pulseTypeTextBrowser.setHtml(QtGui.QApplication.translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
1144
         self.pulseTypeTextBrowser.setHtml(QtGui.QApplication.translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
1145
 "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
1145
 "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
1146
 "p, li { white-space: pre-wrap; }\n"
1146
 "p, li { white-space: pre-wrap; }\n"
1147
-"</style></head><body style=\" font-family:\'Ubuntu\'; font-size:11pt; font-weight:400; font-style:italic;\">\n"
1147
+"</style></head><body style=\" font-family:\'Sans\'; font-size:11pt; font-weight:400; font-style:italic;\">\n"
1148
 "<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>", None, QtGui.QApplication.UnicodeUTF8))
1148
 "<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>", None, QtGui.QApplication.UnicodeUTF8))
1149
         self.label_6.setText(QtGui.QApplication.translate("MainWindow", "ν Tx  [Hz]", None, QtGui.QApplication.UnicodeUTF8))
1149
         self.label_6.setText(QtGui.QApplication.translate("MainWindow", "ν Tx  [Hz]", None, QtGui.QApplication.UnicodeUTF8))
1150
         self.label_7.setText(QtGui.QApplication.translate("MainWindow", "τ Pulse 1 [ms]", None, QtGui.QApplication.UnicodeUTF8))
1150
         self.label_7.setText(QtGui.QApplication.translate("MainWindow", "τ Pulse 1 [ms]", None, QtGui.QApplication.UnicodeUTF8))
1170
         self.stackEfficiency.setToolTip(QtGui.QApplication.translate("MainWindow", "<html><head/><body><p>If noise is entirely uncorrelated than noise should reduce in gate integration like sqrt --&gt; ( \\sum x_i^2    )^(1/2).</p><p><br/></p><p>This variable controls the root, with 2 as the theoretical, and 1 being no noise reduction with stacking.  </p></body></html>", None, QtGui.QApplication.UnicodeUTF8))
1170
         self.stackEfficiency.setToolTip(QtGui.QApplication.translate("MainWindow", "<html><head/><body><p>If noise is entirely uncorrelated than noise should reduce in gate integration like sqrt --&gt; ( \\sum x_i^2    )^(1/2).</p><p><br/></p><p>This variable controls the root, with 2 as the theoretical, and 1 being no noise reduction with stacking.  </p></body></html>", None, QtGui.QApplication.UnicodeUTF8))
1171
         self.label_62.setText(QtGui.QApplication.translate("MainWindow", "Stack efficiency", None, QtGui.QApplication.UnicodeUTF8))
1171
         self.label_62.setText(QtGui.QApplication.translate("MainWindow", "Stack efficiency", None, QtGui.QApplication.UnicodeUTF8))
1172
         self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), QtGui.QApplication.translate("MainWindow", "Preprocess RAW", None, QtGui.QApplication.UnicodeUTF8))
1172
         self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), QtGui.QApplication.translate("MainWindow", "Preprocess RAW", None, QtGui.QApplication.UnicodeUTF8))
1173
-        self.monoGroupBox.setTitle(QtGui.QApplication.translate("MainWindow", "Non-linear least squares fit", None, QtGui.QApplication.UnicodeUTF8))
1173
+        self.monoGroupBox.setTitle(QtGui.QApplication.translate("MainWindow", "Non-linear least s&quares fit", None, QtGui.QApplication.UnicodeUTF8))
1174
         self.monoGO.setText(QtGui.QApplication.translate("MainWindow", "FIT", None, QtGui.QApplication.UnicodeUTF8))
1174
         self.monoGO.setText(QtGui.QApplication.translate("MainWindow", "FIT", None, QtGui.QApplication.UnicodeUTF8))
1175
         self.label_16.setText(QtGui.QApplication.translate("MainWindow", "Intercept", None, QtGui.QApplication.UnicodeUTF8))
1175
         self.label_16.setText(QtGui.QApplication.translate("MainWindow", "Intercept", None, QtGui.QApplication.UnicodeUTF8))
1176
         self.label_20.setText(QtGui.QApplication.translate("MainWindow", "Mask first N echoes", None, QtGui.QApplication.UnicodeUTF8))
1176
         self.label_20.setText(QtGui.QApplication.translate("MainWindow", "Mask first N echoes", None, QtGui.QApplication.UnicodeUTF8))
1268
         self.logTextBrowser.setHtml(QtGui.QApplication.translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
1268
         self.logTextBrowser.setHtml(QtGui.QApplication.translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
1269
 "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
1269
 "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
1270
 "p, li { white-space: pre-wrap; }\n"
1270
 "p, li { white-space: pre-wrap; }\n"
1271
-"</style></head><body style=\" font-family:\'Ubuntu\'; font-size:11pt; font-weight:400; font-style:normal;\">\n"
1271
+"</style></head><body style=\" font-family:\'Sans\'; font-size:11pt; font-weight:400; font-style:normal;\">\n"
1272
 "<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>", None, QtGui.QApplication.UnicodeUTF8))
1272
 "<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>", None, QtGui.QApplication.UnicodeUTF8))
1273
         self.label_53.setText(QtGui.QApplication.translate("MainWindow", "Processing log", None, QtGui.QApplication.UnicodeUTF8))
1273
         self.label_53.setText(QtGui.QApplication.translate("MainWindow", "Processing log", None, QtGui.QApplication.UnicodeUTF8))
1274
         self.pushButton_3.setText(QtGui.QApplication.translate("MainWindow", "Save", None, QtGui.QApplication.UnicodeUTF8))
1274
         self.pushButton_3.setText(QtGui.QApplication.translate("MainWindow", "Save", None, QtGui.QApplication.UnicodeUTF8))

+ 10
- 10
GUI/borehole2.ui View File

79
         <rect>
79
         <rect>
80
          <x>0</x>
80
          <x>0</x>
81
          <y>0</y>
81
          <y>0</y>
82
-         <width>964</width>
82
+         <width>970</width>
83
          <height>800</height>
83
          <height>800</height>
84
         </rect>
84
         </rect>
85
        </property>
85
        </property>
480
               <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
480
               <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
481
 &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
481
 &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
482
 p, li { white-space: pre-wrap; }
482
 p, li { white-space: pre-wrap; }
483
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:8pt; font-weight:400; font-style:italic;&quot;&gt;
483
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans'; font-size:8pt; font-weight:400; font-style:italic;&quot;&gt;
484
 &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'DejaVu Serif'; font-size:9pt;&quot;&gt;Load supported RAW Dataset header from file menu&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
484
 &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'DejaVu Serif'; font-size:9pt;&quot;&gt;Load supported RAW Dataset header from file menu&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
485
              </property>
485
              </property>
486
             </widget>
486
             </widget>
533
               <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
533
               <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
534
 &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
534
 &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
535
 p, li { white-space: pre-wrap; }
535
 p, li { white-space: pre-wrap; }
536
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:italic;&quot;&gt;
536
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans'; font-size:11pt; font-weight:400; font-style:italic;&quot;&gt;
537
 &lt;p style=&quot;-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;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
537
 &lt;p style=&quot;-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;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
538
              </property>
538
              </property>
539
             </widget>
539
             </widget>
1075
               <number>30</number>
1075
               <number>30</number>
1076
              </property>
1076
              </property>
1077
              <property name="value">
1077
              <property name="value">
1078
-              <number>14</number>
1078
+              <number>20</number>
1079
              </property>
1079
              </property>
1080
             </widget>
1080
             </widget>
1081
             <widget class="QLabel" name="label_41">
1081
             <widget class="QLabel" name="label_41">
1215
              </size>
1215
              </size>
1216
             </property>
1216
             </property>
1217
             <property name="title">
1217
             <property name="title">
1218
-             <string>Non-linear least squares fit</string>
1218
+             <string>Non-linear least s&amp;quares fit</string>
1219
             </property>
1219
             </property>
1220
             <property name="checkable">
1220
             <property name="checkable">
1221
              <bool>true</bool>
1221
              <bool>true</bool>
1416
               <number>100</number>
1416
               <number>100</number>
1417
              </property>
1417
              </property>
1418
              <property name="value">
1418
              <property name="value">
1419
-              <number>2</number>
1419
+              <number>1</number>
1420
              </property>
1420
              </property>
1421
             </widget>
1421
             </widget>
1422
             <widget class="QSpinBox" name="nT2SpinBox">
1422
             <widget class="QSpinBox" name="nT2SpinBox">
1435
               <number>100</number>
1435
               <number>100</number>
1436
              </property>
1436
              </property>
1437
              <property name="value">
1437
              <property name="value">
1438
-              <number>20</number>
1438
+              <number>30</number>
1439
              </property>
1439
              </property>
1440
             </widget>
1440
             </widget>
1441
             <widget class="QLabel" name="label_30">
1441
             <widget class="QLabel" name="label_30">
1492
               <double>8000.000000000000000</double>
1492
               <double>8000.000000000000000</double>
1493
              </property>
1493
              </property>
1494
              <property name="value">
1494
              <property name="value">
1495
-              <double>500.000000000000000</double>
1495
+              <double>1000.000000000000000</double>
1496
              </property>
1496
              </property>
1497
             </widget>
1497
             </widget>
1498
             <widget class="QLabel" name="label">
1498
             <widget class="QLabel" name="label">
3223
              <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
3223
              <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
3224
 &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
3224
 &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
3225
 p, li { white-space: pre-wrap; }
3225
 p, li { white-space: pre-wrap; }
3226
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
3226
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans'; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
3227
 &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif'; font-size:9pt;&quot;&gt;All processing steps are recorded here for your records&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
3227
 &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif'; font-size:9pt;&quot;&gt;All processing steps are recorded here for your records&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
3228
             </property>
3228
             </property>
3229
            </widget>
3229
            </widget>
3268
      <x>0</x>
3268
      <x>0</x>
3269
      <y>0</y>
3269
      <y>0</y>
3270
      <width>1000</width>
3270
      <width>1000</width>
3271
-     <height>25</height>
3271
+     <height>22</height>
3272
     </rect>
3272
     </rect>
3273
    </property>
3273
    </property>
3274
    <widget class="QMenu" name="menuFile">
3274
    <widget class="QMenu" name="menuFile">

+ 25
- 3
GUI/main.py View File

427
 
427
 
428
         dat = open("NMR-log.dat","w")        
428
         dat = open("NMR-log.dat","w")        
429
         dat.write( "#depth,phi,T_2ML,FFV,BFV,CBFV\n" )
429
         dat.write( "#depth,phi,T_2ML,FFV,BFV,CBFV\n" )
430
+        
431
+        results = file("inversion.csv",'w') 
430
 
432
 
431
         Data = np.zeros( (len(self.ORS), len(self.ORS[0].T2T)) )
433
         Data = np.zeros( (len(self.ORS), len(self.ORS[0].T2T)) )
434
+        
432
         times = self.ORS[0].T2T
435
         times = self.ORS[0].T2T
433
         depTol = np.abs(self.ORS[self.headerstr[0]].depth - self.ORS[self.headerstr[-1]].depth) 
436
         depTol = np.abs(self.ORS[self.headerstr[0]].depth - self.ORS[self.headerstr[-1]].depth) 
434
-        t2scale = 100*depTol / len(self.ORS)  #TODO adjust based on total depth, was 20 
437
+        t2scale = 100*depTol / len(self.ORS)  #TODO adjust based on total depth, was 20
438
+
435
         for ff in self.headerstr:
439
         for ff in self.headerstr:
436
             nT2 = len(self.ORS[ff].DistRes['Time'].T2Bins)
440
             nT2 = len(self.ORS[ff].DistRes['Time'].T2Bins)
437
             dp.append( self.ORS[ff].depth )
441
             dp.append( self.ORS[ff].depth )
444
             self.kt.fill_between( self.ORS[ff].DistRes['Time'].T2Bins, dp[ii] - t2scale*self.ORS[ff].DistRes['mod'], dp[ii]*np.ones( nT2 ), alpha=1, color='LimeGreen')
448
             self.kt.fill_between( self.ORS[ff].DistRes['Time'].T2Bins, dp[ii] - t2scale*self.ORS[ff].DistRes['mod'], dp[ii]*np.ones( nT2 ), alpha=1, color='LimeGreen')
445
             Data[ff,:] = self.ORS[ff].T2D.imag
449
             Data[ff,:] = self.ORS[ff].T2D.imag
446
 
450
 
451
+            for iid, val in enumerate(self.ORS[ff].DistRes['mod']):
452
+                if iid == 0:
453
+                    for it2, t2b in enumerate( self.ORS[ff].DistRes['Time'].T2Bins ):
454
+                        if it2 == 0:
455
+                            results.write( "%1.4f" %(t2b)  )
456
+                        else:
457
+                            results.write( ",%1.4f" %(t2b)  )
458
+                    results.write("\n") 
459
+                    results.write( "%1.4f" %(val)  )
460
+                else:
461
+                    results.write( ",%1.4f" %(val)  )
462
+            results.write("\n") 
463
+
447
             dat.write( "%1.4f,%1.4f,%1.4f,%1.4f,%1.4f,%1.4f\n" %(dp[-1],phi[-1],LogMeanT2[-1],FFV[-1],BFV[-1],CBFV[-1]))
464
             dat.write( "%1.4f,%1.4f,%1.4f,%1.4f,%1.4f,%1.4f\n" %(dp[-1],phi[-1],LogMeanT2[-1],FFV[-1],BFV[-1],CBFV[-1]))
448
             #if np.abs( phi[-1] - (FFV[-1] + BFV[-1] + CBFV[-1]) ) > 1e-6:
465
             #if np.abs( phi[-1] - (FFV[-1] + BFV[-1] + CBFV[-1]) ) > 1e-6:
449
             #    print("mismatch", phi[-1] - (FFV[-1] + BFV[-1] + CBFV[-1]), CBFV[-1] ) 
466
             #    print("mismatch", phi[-1] - (FFV[-1] + BFV[-1] + CBFV[-1]), CBFV[-1] ) 
450
             #else:
467
             #else:
451
             #    print("nope", CBFV[-1])
468
             #    print("nope", CBFV[-1])
452
             ii += 1
469
             ii += 1
470
+        results.close()
453
         dat.close()
471
         dat.close()
454
         #k =  ((c*np.array(phi))**m) * ( (np.array(FFV)/np.array(BFV))**n)
472
         #k =  ((c*np.array(phi))**m) * ( (np.array(FFV)/np.array(BFV))**n)
455
         k = c * 1e4 *  (np.array(phi)**m) * ((np.array(FFV)/(np.array(BFV)+np.array(CBFV)))**n)
473
         k = c * 1e4 *  (np.array(phi)**m) * ((np.array(FFV)/(np.array(BFV)+np.array(CBFV)))**n)
501
         pc = self.dd.pcolor(X,Y, Data[:,ma:], cmap = 'viridis') #, vmin = -np.max(Data[:,ma:]))
519
         pc = self.dd.pcolor(X,Y, Data[:,ma:], cmap = 'viridis') #, vmin = -np.max(Data[:,ma:]))
502
         #pc = self.dd.pcolor(X,Y, Data, cmap = 'seismic_r') #, vmin=-.5, vmax=.5) #, vmin = 0)
520
         #pc = self.dd.pcolor(X,Y, Data, cmap = 'seismic_r') #, vmin=-.5, vmax=.5) #, vmin = 0)
503
         #self.dd.set_ylim( self.dd.get_ylim()[::-1] )
521
         #self.dd.set_ylim( self.dd.get_ylim()[::-1] )
504
-        
522
+
523
+        np.savez("cmrdata",times2=times2,dp2=dp2,X=X, Y=Y, data=Data[:,ma:])       
524
+ 
505
         self.dd.set_ylim( np.max(dp2), np.min(dp2) )
525
         self.dd.set_ylim( np.max(dp2), np.min(dp2) )
506
         self.dd.set_xlim( times2[0], times2[-1] )
526
         self.dd.set_xlim( times2[0], times2[-1] )
507
         #self.dd.set_xlim( np.log10(times[0]), np.log10(times[-1]) )
527
         #self.dd.set_xlim( np.log10(times[0]), np.log10(times[-1]) )
508
 
528
 
509
-        self.dd.set_xscale("log", nonposy='clip')           
529
+        self.dd.set_xscale("log", nonposx='clip')           
510
  
530
  
511
         ############################################################
531
         ############################################################
512
         # decay logs
532
         # decay logs
943
             dmin = 7672  # Morrow           #
963
             dmin = 7672  # Morrow           #
944
             dmax = 7707  # Morrow Bottom    #
964
             dmax = 7707  # Morrow Bottom    #
945
             #################################
965
             #################################
966
+            #dmin = 7672 - 150  # Morrow           #
967
+            #dmax = 7707 - 120  # Morrow Bottom    #
946
             #dmin = 7672+10.25  # Morrow           #
968
             #dmin = 7672+10.25  # Morrow           #
947
             #dmax = 7707-10.25  # Morrow Bottom    #
969
             #dmax = 7707-10.25  # Morrow Bottom    #
948
             #dmin = 0 
970
             #dmin = 0 

+ 4
- 4
MRProc.py View File

359
         """
359
         """
360
         self.computeSTD()
360
         self.computeSTD()
361
         self.gpd = gpd
361
         self.gpd = gpd
362
-
363
         if self.burst:
362
         if self.burst:
364
             self.gateIntegrateBurst(gpd, stackEfficiency)
363
             self.gateIntegrateBurst(gpd, stackEfficiency)
365
             print ("BBBBBUUURSSSSTTTTTTTTTTTT DOOOM FIXME MRProc.py!!!!!!!!!!!")
364
             print ("BBBBBUUURSSSSTTTTTTTTTTTT DOOOM FIXME MRProc.py!!!!!!!!!!!")
410
         self.sigma = np.sqrt(Vars  * (1./isum)**stackEfficiency ) # Var (aX) = a^2 Var(x)
409
         self.sigma = np.sqrt(Vars  * (1./isum)**stackEfficiency ) # Var (aX) = a^2 Var(x)
411
 
410
 
412
         # Bootstrap
411
         # Bootstrap
413
-        bootstrap = True
412
+        bootstrap = False 
414
         #bs = open("bootstrap.dat", "a")
413
         #bs = open("bootstrap.dat", "a")
415
 
414
 
416
         if bootstrap:
415
         if bootstrap:
571
        
570
        
572
         # mask first few echoes, just for detection 
571
         # mask first few echoes, just for detection 
573
         NM = 2 
572
         NM = 2 
574
-        [conv,E0,df,phi,T2] = quadratureDetect(np.imag(self.T2D[NM::]), np.real(self.T2D[NM::]), self.T2T[NM::], True, True, False)
573
+        #[conv,E0,df,phi,T2] = quadratureDetect(np.imag(self.T2D[NM::]), np.real(self.T2D[NM::]), self.T2T[NM::], False, False, False)
575
         #[conv,E0,df,phi,T2] = quadratureDetect(np.imag(self.T2D[NM::]), np.real(self.T2D[NM::]), self.T2T[NM::], False, False, True)
574
         #[conv,E0,df,phi,T2] = quadratureDetect(np.imag(self.T2D[NM::]), np.real(self.T2D[NM::]), self.T2T[NM::], False, False, True)
576
         #                                                                              #CorrectFreq=False, BiExp=False, CorrectDC=False)
575
         #                                                                              #CorrectFreq=False, BiExp=False, CorrectDC=False)
577
         
576
         
578
-        #[conv,E0,df,phi,T2] = quadratureDetect2(np.imag(self.T2D[NM::]), np.real(self.T2D[NM::]), self.T2T[NM::])
577
+        [conv,E0,df,phi,T2] = quadratureDetect2(np.imag(self.T2D[NM::]), np.real(self.T2D[NM::]), self.T2T[NM::])
578
+        print("df", df, "phi", phi)
579
         self.zeta1 = phi
579
         self.zeta1 = phi
580
 
580
 
581
         #if conv: # failed convergence
581
         #if conv: # failed convergence

+ 2
- 2
decay.py View File

469
             E0   =  r['$'](report,'par')[0]   # E01
469
             E0   =  r['$'](report,'par')[0]   # E01
470
             phi =  r['$'](report,'par')[1]   # phase 
470
             phi =  r['$'](report,'par')[1]   # phase 
471
             T2  =  r['$'](report,'par')[2]   # T2
471
             T2  =  r['$'](report,'par')[2]   # T2
472
-    phi = 0.907655876627
473
-    df = 0.
472
+    #phi = 0.907655876627
473
+    #df = 0.
474
     #phi = 0
474
     #phi = 0
475
     print ("df", df)# = 0
475
     print ("df", df)# = 0
476
     return conv, E0,df,phi,T2
476
     return conv, E0,df,phi,T2

Loading…
Cancel
Save