Skip to content

Commit

Permalink
Implemented low res flag (works). This refs #4303
Browse files Browse the repository at this point in the history
  • Loading branch information
JeanBilheux committed Feb 13, 2012
1 parent 3e4917d commit cb43d21
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 21 deletions.
41 changes: 20 additions & 21 deletions Code/Mantid/Framework/PythonAPI/PythonAlgorithms/RefLReduction.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@ def PyInit(self):
self.declareListProperty("NormPeakPixelRange", [127, 133], Validator=ArrayBoundedValidator(Lower=0))
self.declareProperty("SubtractNormBackground", True)
self.declareListProperty("NormBackgroundPixelRange", [123, 137], Validator=ArrayBoundedValidator(Lower=0))
self.declareProperty("LowResDataAxisPixelRangeFlag", True)
self.declareListProperty("LowResDataAxisPixelRange", [115, 210], Validator=ArrayBoundedValidator(Lower=0))
self.declareProperty("LowResNormAxisPixelRangeFlag", True)
self.declareListProperty("LowResNormAxisPixelRange", [115, 210], Validator=ArrayBoundedValidator(Lower=0))
self.declareListProperty("TOFRange", [9000., 23600.], Validator=ArrayBoundedValidator(Lower=0))
self.declareProperty("QMin", 0.001, Description="Minimum Q-value")
Expand Down Expand Up @@ -64,22 +66,28 @@ def PyExec(self):
q_min = self.getProperty("QMin")
q_step = self.getProperty("QStep")

#dimension of the detector (256 by 304 pixels)
maxX = 304
maxY = 256

#Due to the frame effect, it's sometimes necessary to narrow the range
#over which we add all the pixels along the low resolution
#Parameter
Xrange = self.getProperty("LowResDataAxisPixelRange")

print 'LowResDataAxisPixelRange'
print Xrange
print
DataXrangeFlag = self.getProperty("LowResDataAxisPixelRangeFlag")
if DataXrangeFlag:
Xrange = self.getProperty("LowResDataAxisPixelRange")
else:
Xrange = [0,maxX-1]

NormXrangeFlag = self.getProperty("LowResNormAxisPixelRangeFlag")
if NormXrangeFlag:
normXrange = self.getProperty("LowResNormAxisPixelRange")
else:
normXrange = [0,maxX-1]

h = 6.626e-34 #m^2 kg s^-1
m = 1.675e-27 #kg

#dimension of the detector (256 by 304 pixels)
maxX = 304
maxY = 256


norm_back = self.getProperty("NormBackgroundPixelRange")
BackfromYpixel = norm_back[0]
BacktoYpixel = norm_back[1]
Expand Down Expand Up @@ -311,24 +319,15 @@ def PyExec(self):

# Normalized by Current (proton charge)
NormaliseByCurrent(InputWorkspace=ws_norm_histo_data, OutputWorkspace=ws_norm_histo_data)

##Background subtraction
Yrange = self.getProperty("LowResNormAxisPixelRange")

print 'LowResDataAxisPixelRange'
print Yrange
print



#Create a new event workspace of only the range of pixel of interest
#background range (along the y-axis) and of only the pixel
#of interest along the x-axis (to avoid the frame effect)
ws_integrated_data = "__IntegratedNormWks"
wks_utility.createIntegratedWorkspace(mtd[ws_norm_histo_data],
ws_integrated_data,
fromXpixel=Yrange[0],
toXpixel=Yrange[1],
fromXpixel=normXrange[0],
toXpixel=normXrange[1],
fromYpixel=BackfromYpixel,
toYpixel=BacktoYpixel,
maxX=maxX,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,9 @@ def to_script(self, for_automated_reduction=False):
script += " NormPeakPixelRange=%s,\n" % str(self.NormPeakPixels)
script += " NormBackgroundPixelRange=%s,\n" % str(self.NormBackgroundRoi)
script += " SubtractNormBackground=%s,\n" % str(self.NormBackgroundFlag)
script += " LowResDataAxisPixelRangeFlag=%s,\n" % str(self.data_x_range_flag)
script += " LowResDataAxisPixelRange=%s,\n" % str(self.data_x_range)
script += " LowResNormAxisPixelRangeFlag=%s,\n" % str(self.norm_x_range_flag)
script += " LowResNormAxisPixelRange=%s,\n" % str(self.norm_x_range)
script += " TOFRange=%s,\n" % str(self.DataTofRange)
script += " QMin=%s,\n" % str(self.q_min)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -412,9 +412,13 @@ def set_editing_state(self, state):
self._summary.data_peak_from_pixel.setText(str(state.DataPeakPixels[0]))
self._summary.data_peak_to_pixel.setText(str(state.DataPeakPixels[1]))

#data low resolution range
self._summary.data_low_res_range_switch.setChecked(state.data_x_range_flag)
self._summary.x_min_edit.setText(str(state.data_x_range[0]))
self._summary.x_max_edit.setText(str(state.data_x_range[1]))

#norm low resolution range
self._summary.norm_low_res_range_switch.setChecked(state.norm_x_range_flag)
self._summary.norm_x_min_edit.setText(str(state.norm_x_range[0]))
self._summary.norm_x_max_edit.setText(str(state.norm_x_range[1]))

Expand Down

0 comments on commit cb43d21

Please sign in to comment.