Source code for drtsans.integrate_roi

from mantid.api import AnalysisDataService as mtd
import numpy as np


[docs] def integrate_detector_roi(workspace, roi_det_list): """Integrate neutron counts in ROI of detectors (pixels) Integrate neutron counts and uncertainties in ROI of detectors Parameters ---------- workspace: String or ~mantid.api.MatrixWorkspace Name of workspace or Workspace instance roi_det_list: List of integers Workspace indexes for the detectors in ROI Returns ------- float, float Integrated intensity, Integrated uncertainties """ # Get workspace instance if input is a string workspace = mtd[str(workspace)] # Get Y and E array counts_array = workspace.extractY() error_array = workspace.extractE() # Get the sum roi_intensity = counts_array[roi_det_list] roi_intensity = roi_intensity.sum() # ROI error: sqrt(sum(sigma(i)^2)) roi_error_sq = (error_array[roi_det_list]) ** 2 roi_error = np.sqrt(np.sum(roi_error_sq)) return roi_intensity, roi_error