Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added app/CalibADC/analyze_output.o
Binary file not shown.
2 changes: 1 addition & 1 deletion app/Supera/APILArLite/supera.fcl
35 changes: 25 additions & 10 deletions mac/pyrgb/display/rgbdisplay.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,16 @@
class RGBDisplay(QtGui.QWidget):

def __init__(self, argv):
print "# super"
super(RGBDisplay, self).__init__()
print "# RGBDisplay"

# DataManager for loading the plot image
self.dm = DataManager(argv)

print "# self.dm"
# Size the canvas
self.resize(1200, 700)
self.resize(800,600)#1200, 700)

# Graphics window which will hold the image
self.win = pg.GraphicsWindow()
Expand Down Expand Up @@ -69,7 +72,7 @@ def __init__(self, argv):
self.layout.addLayout(self.lay_inputs, 2, 0)



print "# Navigation box"
# -------------------------------------------------------
# Navigation box
self._makeNavFrame()
Expand Down Expand Up @@ -340,22 +343,28 @@ def prepare_rse_navigation(self):
def openCaffe(self):
if re.search("Disable", self.rgbcaffe.text()) is None:
self.rgbcaffe.setText("Disable RGBCaffe")
self.resize(1200, 900)
# self.resize(1200, 900)
self.resize(800, 600)
self.layout.addLayout(self.caffe_layout.grid(True), 5, 0)
else:
self.rgbcaffe.setText("Enable RGBCaffe")
self.layout.removeItem(self.caffe_layout.grid(False))
self.resize(1200, 700)
# self.resize(1200, 700)
self.resize(800, 600)


def openROITool(self):
if re.search("Disable", self.rgbroi.text()) is None:
self.rgbroi.setText("Disable ROITool")
self.resize(1200, 1000)
# self.resize(1200, 1000)
self.resize(800, 600)
self.layout.addLayout(self.roitool_layout.grid(True), 5, 0)
else:
self.rgbroi.setText("Enable ROITool")
self.layout.removeItem(self.roitool_layout.grid(False))
self.resize(1200, 700)
# self.resize(1200, 700)
self.resize(800, 600)


# opencv editor, if/els statement is for opening and closing the pane
def openCVEditor(self):
Expand All @@ -364,14 +373,18 @@ def openCVEditor(self):

if re.search("Disable", self.rgbcv2.text()) is None:
self.rgbcv2.setText("Disable OpenCV")
self.resize(1200, 900)
# self.resize(1200, 900)
self.resize(800, 600)

self.layout.addLayout(self.cv2_layout.grid(True), 5, 0)
self.plt.addItem(self.swindow)
self.cv2_enabled = True
else:
self.rgbcv2.setText("Enable OpenCV")
self.layout.removeItem(self.cv2_layout.grid(False))
self.resize(1200, 700)
# self.resize(1200, 700)
self.resize(800, 600)

self.plt.removeItem(self.swindow)
self.cv2_enabled = False

Expand Down Expand Up @@ -535,8 +548,10 @@ def plotData(self):
self.image_producer,
self.roi_producer,
self.views)


# Erez, Aug-05, 2016
print "TTree entry number ",self.rse_map[self.wanted_rse]
self.event.setText("%d"%(self.rse_map[self.wanted_rse]))

else: # original way
# get the image from the datamanager
self.image, hasroi = self.dm.get_event_image(event,
Expand Down
61 changes: 47 additions & 14 deletions mac/pyrgb/display/roilayout.py
Original file line number Diff line number Diff line change
Expand Up @@ -400,8 +400,10 @@ def _makeFileFrame(self):
self.input_prod_label.setFixedWidth(60)
self.output_prod_label.setFixedWidth(60)

self.input_roi = QtGui.QLineEdit("ROI filename")
self.input_roi_producer = QtGui.QLineEdit("ROI producer")
# i hard coded these lines just because i love retyping the production file name so much every time...
self.input_roi = QtGui.QLineEdit("ROI filename") #"/Users/erezcohen/Desktop/uBoone/EXTBNB_DATA/larcv_files/roi_files/roi_9131runs_multipscore0.95_595evts_03082016.root"
self.input_roi_producer = QtGui.QLineEdit("protonBDT")#"ROI producer")
# --------------------------------------------------------------------------------------------------------
self.input_prod = None

self.output_roi = QtGui.QLineEdit("ROI filename")
Expand Down Expand Up @@ -435,21 +437,52 @@ def reloadROI(self):
event = int(self.event.text())
rse = ( self.dm.run, self.dm.subrun, self.dm.event )


# Aug-05, 2016
# i (erez) modified the following lines to synchronize ROIs navigation with RGB navigation based on Rub/Sub/Evt
# please go over them to see if its efficient and so on...
# ---------------------------------------------------------------------------------------------
print "in reloadROI, self.user_rois.keys() = ",self.user_rois.keys()
wanted_rse = [int(self.run.text()), int(self.subrun.text()), int(self.event_num.text())]
print "the RGB image that is loaded is (r/s/e): ",wanted_rse
# print "user ROIs: ", self.user_rois
print "event: ",event

# If no user ROIs, look through imported ROIs
if event not in self.user_rois.keys():

if rse in self.imported_rse_dict:
print "rse in imported list ",rse
idx = self.imported_rse_dict[rse]
self.in_iom.read_entry(idx)
roiarray = self.in_iom.get_data(larcv.kProductROI,self.input_prod)
self.user_rois_larcv[event] = [roi for roi in roiarray.ROIArray()]
print "reloading ",self.user_rois_larcv[event]," from file"
self.user_rois[event] = self.larcv2roi(self.user_rois_larcv[event])
else:
print rse," not in user_rois nor in imported dict."
return

print "event not in self.user_rois.keys(): ",event

# if we dont have this event already in our list,
# go over the TTree entries
for entry in range(self.in_iom.get_n_entries()):
read_entry = self.in_iom.read_entry(entry)
event_base = self.in_iom.get_data(larcv.kProductROI,"protonBDT")
curren_rse = [event_base.run(),event_base.subrun(),event_base.event()]

# and if we find this event
if curren_rse == wanted_rse:
roiarray = self.in_iom.get_data(larcv.kProductROI,self.input_prod)
self.user_rois_larcv[entry] = [roi for roi in roiarray.ROIArray()]
print "reloading ",self.user_rois_larcv[entry]," from file, entry ",entry,", rse ", wanted_rse
self.user_rois[event] = self.larcv2roi(self.user_rois_larcv[event])


# the previous code block (Aug-05,2016)
# ---------------------------------------------------------------------------------------------
# if rse in self.imported_rse_dict:
# print "rse in imported list ",rse
# idx = self.imported_rse_dict[rse]
# self.in_iom.read_entry(idx)
# roiarray = self.in_iom.get_data(larcv.kProductROI,self.input_prod)
# self.user_rois_larcv[event] = [roi for roi in roiarray.ROIArray()]
# print "reloading ",self.user_rois_larcv[event]," from file"
# self.user_rois[event] = self.larcv2roi(self.user_rois_larcv[event])
# else:
# print rse," not in user_rois nor in imported dict."
# return
# ---------------------------------------------------------------------------------------------

# set to active rois
self.rois = self.user_rois[event]
print "active rois: ",len(self.rois)
Expand Down
10 changes: 4 additions & 6 deletions mac/pyrgb/lib/datamanager.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,29 +14,27 @@
class DataManager(object):

def __init__(self,argv):

self.iom = IOManager(argv)
self.keys ={}

self.IF = ImageFactory()

# get keys from rootfile, iterate over the enum
# and see what's in the root file
for i in xrange(larcv.kProductUnknown):
product = larcv.ProductName(i)

self.keys[product] = []

producers=self.iom.iom.producer_list(i)

for p in producers:
self.keys[product].append(p)

# run subrun and event start at zero
self.run = -1
self.subrun = -1
self.event = -1


def get_nchannels(self,ii,imgprod) :
# Sorry Vic I hacked this
Expand Down
4 changes: 2 additions & 2 deletions production/v05/supera_bnb.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ Supera: {
OpDigitProducer: "pmtreadout"
MCRecoProducer: "mcreco"
GenProducer: "generator"
MinTime: 2400
MinTime: 0 # 2400
MinWire: 0
ShiftTPCTick: 2400
ShiftTPCTick: 0 # 2400
#EventImageRows: [6048,6048,6048]
#EventImageRows: [1008,1008,1008]
#EventImageCols: [3456,3456,3456]
Expand Down
3 changes: 2 additions & 1 deletion python/larcv/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
larcv_dir = os.environ['LARCV_LIBDIR']
for l in [x for x in os.listdir(larcv_dir) if x.endswith('.so')]:
ROOT.gSystem.Load(l)
from larcv import larcv
from ROOT import larcv
#from larcv import larcv
k=larcv.logger # this line to load C++ functions
if 'LARCV_NUMPY' in os.environ and os.environ['LARCV_NUMPY'] == '1':
larcv.load_pyutil
Expand Down