Skip to content

Commit

Permalink
Refs #11289. Checkpointing progress on fixing pylint warnings.
Browse files Browse the repository at this point in the history
  • Loading branch information
wdzhou committed Apr 28, 2015
1 parent 081d591 commit dd25295
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 73 deletions.
82 changes: 30 additions & 52 deletions Code/Mantid/scripts/HFIRPowderReduction/HfirPDReductionControl.py
Expand Up @@ -13,42 +13,23 @@
import HfirUtility as hutil

# Import mantid
IMPORT_MANTID = False
try:
import mantid
IMPORT_MANTID = True
except ImportError as e:
curdir = os.getcwd()
libpath = os.path.join(curdir.split('Code')[0], 'Code/debug/bin')
if os.path.exists(libpath) is False:
libpath = os.path.join(curdir.split('Code')[0], 'Code/release/bin')
sys.path.append(libpath)
#print libpath
#"/home/wzz/Mantid_Project/Mantid/Code/Mantid/scripts/HFIRPowderReduction"
##sys.path.append('/home/wzz/Mantid_Project/Mantid2/Code/release/bin')
#sys.path.append('/home/wzz/Mantid/Code/debug/bin')
#sys.path.append('/Users/wzz/Mantid/Code/debug/bin')
try:
import mantid
except ImportError as e2:
print "Unable to import Mantid: %s." % (str(e))
raise e
else:
IMPORT_MANTID = True
finally:
if IMPORT_MANTID is True:
import mantid.simpleapi as api
import mantid.kernel
from mantid.simpleapi import AnalysisDataService
from mantid.kernel import ConfigService

curdir = os.getcwd()
libpath = os.path.join(curdir.split('Code')[0], 'Code/debug/bin')
if os.path.exists(libpath) is False:
libpath = os.path.join(curdir.split('Code')[0], 'Code/release/bin')
sys.path.append(libpath)
import mantid
import mantid.simpleapi as api
import mantid.kernel
from mantid.simpleapi import AnalysisDataService
from mantid.kernel import ConfigService


VanadiumPeakPositions = [0.5044,0.5191,0.5350,0.5526,0.5936,0.6178,0.6453,0.6768,
0.7134,0.7566,0.8089,0.8737,0.9571,1.0701,1.2356,1.5133,2.1401]

""" Powder data reduction class
"""
class PDRManager:
class PDRManager(object):
""" Powder diffraction reduction workspace manager
"""
def __init__(self, exp, scan):
Expand All @@ -57,7 +38,7 @@ def __init__(self, exp, scan):
try:
self.exp = int(exp)
self.scan = int(scan)
except ValueError as e:
except ValueError:
raise NotImplementedError("Set non-integer value as Exp and Scan to PDRManager.")

self.unit = None
Expand Down Expand Up @@ -112,7 +93,6 @@ def setup(self, datamdws, monitormdws, reducedws=None, unit=None, binsize=None):
self.binsize = float(binsize)
except TypeError as e:
print e
pass

return

Expand Down Expand Up @@ -165,9 +145,7 @@ def setWavelength(self, wavelength):
return


""" HFIR powder diffraction data reduction control
"""
class HFIRPDRedControl:
class HFIRPDRedControl(object):
""" Class for controlling HFIR powder reduction
"""
def __init__(self):
Expand Down Expand Up @@ -252,17 +230,17 @@ def getRawDetectorCounts(self, exp, scan, ptnolist=None):

rlist = []
# Loop over all Pt. number
for pt in ptnolist:
for ptno in ptnolist:
# get data
tempoutws = api.GetSpiceDataRawCountsFromMD(InputWorkspace=datamdws,
MonitorWorkspace=monitormdws,
Mode='Pt.',
Pt = pt)
Pt = ptno)

vecx = tempoutws.readX(0)[:]
vecy = tempoutws.readY(0)[:]

rlist.append((pt, vecx, vecy))
rlist.append((ptno, vecx, vecy))
# ENDFOR

return rlist
Expand All @@ -285,9 +263,9 @@ def getSampleLogNames(self, expno, scanno):
run = info0.run()
plist = run.getProperties()
lognamelist = []
for p in plist:
if p.__class__.__name__.lower().count('float') == 1:
lognamelist.append(p.name)
for prop in plist:
if prop.__class__.__name__.lower().count('float') == 1:
lognamelist.append(prop.name)

return lognamelist

Expand All @@ -314,7 +292,6 @@ def getSampleLogValue(self, expno, scanno, samplelogname, xlabel):
# get the complete list of Pt. number
ptnolist = self._getRunNumberList(datamdws=rmanager.datamdws)

rlist = []
# get data
tempoutws = api.GetSpiceDataRawCountsFromMD(InputWorkspace=datamdws,
MonitorWorkspace=monitormdws,
Expand Down Expand Up @@ -369,20 +346,21 @@ def getVectorProcessVanToPlot(self, exp, scan):
# get vectors
return outws.readX(0), outws.readY(0)


def getMergedVector(self, mkey):
"""
""" Get vector X and Y from merged scans
"""
if self._myMergedWSDict.has_key(mkey) is True:
ws = self._myMergedWSDict[mkey]
wksp = self._myMergedWSDict[mkey]

# convert to point data if necessary
if len(ws.readX(0)) != len(ws.readY(0)):
wsname = ws.name() + "_pd"
api.ConvertToPointData(InputWorkspace=ws, OutputWorkspace=wsname)
ws = AnalysisDataService.retrieve(wsname)
if len(wksp.readX(0)) != len(wksp.readY(0)):
wsname = wksp.name() + "_pd"
api.ConvertToPointData(InputWorkspace=wksp, OutputWorkspace=wsname)
wksp = AnalysisDataService.retrieve(wsname)

vecx = ws.readX(0)
vecy = ws.readY(0)
vecx = wksp.readX(0)
vecy = wksp.readY(0)
else:
raise NotImplementedError("No merged workspace for key = %s." % (str(mkey)))

Expand Down Expand Up @@ -550,7 +528,7 @@ def mergeReduceSpiceData(self, expno, scannolist, unit, xmin, xmax, binsize):
outwsname = "Merged_Exp%d_Scan%s_%s" % (expno, scannolist[0], scannolist[-1])

# Merge
wavelength = self.getWavelength(expno, scanno)
wavelength = self.getWavelength(expno, scannolist[0])
api.ConvertCWPDMDToSpectra(InputWorkspace=mg_datamdws,
InputMonitorWorkspace=mg_monitormdws,
OutputWorkspace=outwsname,
Expand Down
42 changes: 24 additions & 18 deletions Code/Mantid/scripts/HFIRPowderReduction/HfirPDReductionGUI.py
@@ -1,11 +1,10 @@
#pylint: disable=invalid-name, relative-import
################################################################################
# Main class for HFIR powder reduction GUI
# Key word for future developing: FUTURE, NEXT, REFACTOR, RELEASE 2.0
################################################################################

#pylint: disable=invalid-name
import numpy
import sys
import os

from Ui_MainWindow import Ui_MainWindow #import line for the UI python class
Expand All @@ -16,8 +15,6 @@
def _fromUtf8(s):
return s

from matplotlib.pyplot import setp

from HfirPDReductionControl import *

#----- default configuration ---------------
Expand All @@ -30,6 +27,9 @@ class EmptyError(Exception):
""" Exception for finding empty input for integer or float
"""
def __init__(self, value):
""" Init
"""
Exception.__init__(self)
self.value = value

def __str__(self):
Expand Down Expand Up @@ -204,18 +204,23 @@ def __init__(self, parent=None):
self.ui.lineEdit_scanEnd.setValidator(validator12)

# TODO - Add valdiators for
# lineEdit_normalizeMonitor float
# lineEdit_mergeMinX, lineEdit_mergeMaxX, lineEdit_mergeBinSize
validator13 = QtGui.QDoubleValidator(self.ui.lineEdit_normalizeMonitor)
validator13.setBottom(0.)
self.ui.lineEdit_normalizeMonitor.setValidator(validator13)

# Get initial setup
self._initSetup()
validator14 = QtGui.QDoubleValidator(self.ui.lineEdit_mergeMinX)
validator14.setBottom(0.)
self.ui.lineEdit_mergeMinX.setValidator(validator14)

return
validator15 = QtGui.QDoubleValidator(self.ui.lineEdit_mergeMaxX)
validator15.setBottom(0.)
self.ui.lineEdit_mergeMaxX.setValidator(validator15)

validator16 = QtGui.QDoubleValidator(self.ui.lineEdit_mergeBinSize)
validator16.setBottom(0.)
self.ui.lineEdit_mergeBinSize.setValidator(validator16)

def _initSetup(self):
""" Initial setup
"""
# Get initial setup
# RELEASE 2.0 - This part will be implemented soon as default configuration is made
# Mantid configuration
self._instrument = str(self.ui.comboBox_instrument.currentText())
Expand Down Expand Up @@ -284,8 +289,8 @@ def doBrowseExcludedDetetorFile(self):
"""
# Get file name
filefilter = "Text (*.txt);;Data (*.dat);;All files (*.*)"
curdir = os.getcwd()
excldetfnames = QtGui.QFileDialog.getOpenFileNames(self, 'Open File(s)', curdir, filefilter)
curDir = os.getcwd()
excldetfnames = QtGui.QFileDialog.getOpenFileNames(self, 'Open File(s)', curDir, filefilter)
try:
excldetfname = excldetfnames[0]
self.ui.lineEdit_excludedDetFileName.setText(excldetfname)
Expand All @@ -296,6 +301,8 @@ def doBrowseExcludedDetetorFile(self):
# Parse det exclusion file
print "Detector exclusion file name is %s." % (excldetfname)
excludedetlist, errmsg = self._myControl.parseExcludedDetFile('HB2A', excldetfname)
if len(errmsg) > 0:
self._logError(errmsg)
textbuf = ""
for detid in excludedetlist:
textbuf += "%d," % (detid)
Expand Down Expand Up @@ -540,8 +547,8 @@ def doLoadData(self, exp=None, scan=None):
if vancorrfname is None:
# browse vanadium correction file
filefilter = "Text (*.txt);;Data (*.dat);;All files (*.*)"
curdir = os.getcwd()
vancorrfnames = QtGui.QFileDialog.getOpenFileNames(self, 'Open File(s)', curdir, filefilter)
curDir = os.getcwd()
vancorrfnames = QtGui.QFileDialog.getOpenFileNames(self, 'Open File(s)', cuDdir, filefilter)
if len(vancorrfnames) > 0:
vancorrfname = vancorrfnames[0]
self.ui.lineEdit_vcorrFileName.setText(str(vancorrfname))
Expand Down Expand Up @@ -616,7 +623,7 @@ def doLoadSetData(self):
for scan in sorted(scanlist):
tempstatus = self.doLoadData(expno, scan)
if tempstatus is False:
self.ui.label_mergeMessage.setText('Error to load Exp %d Scan %d.'(expno, scan))
self.ui.label_mergeMessage.setText('Error to load Exp %d Scan %d.'%(expno, scan))
loadstatus = False
else:
message = 'Loaded Exp %d Scan %d.' % (expno, scan)
Expand Down Expand Up @@ -689,7 +696,6 @@ def doLoadPrevScan(self):
def doLoadNextScan(self):
"""
"""
# FIXME - Change method name such that all plotting methods in the same tab will be together
# TODO - Need a plotting managing mechanism to avoid to plotting same exp/scan more than once
# Advance scan number by 1
try:
Expand Down
4 changes: 1 addition & 3 deletions Code/Mantid/scripts/HFIRPowderReduction/MplFigureCanvas.py
@@ -1,10 +1,8 @@
#pylint: disable=invalid-name
import sys
import os

from PyQt4 import QtGui, QtCore
from PyQt4 import QtGui

import matplotlib
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.backends.backend_qt4agg import NavigationToolbar2QTAgg as NavigationToolbar
from matplotlib.figure import Figure
Expand Down

0 comments on commit dd25295

Please sign in to comment.