From af6122e85770636a30943f6ebcbc7d6c62e7f877 Mon Sep 17 00:00:00 2001 From: Forrest Collman Date: Wed, 4 Nov 2015 12:59:23 -0800 Subject: [PATCH] fixed stage flip error, added timing debug statements. --- ImageCollection.py | 2 +- MosaicImage.py | 2 +- MosaicPlanner.py | 15 ++++++++++----- imageSourceMM.py | 32 ++++++++++++++++---------------- 4 files changed, 28 insertions(+), 23 deletions(-) diff --git a/ImageCollection.py b/ImageCollection.py index 9a37e60..3dc40f7 100644 --- a/ImageCollection.py +++ b/ImageCollection.py @@ -131,7 +131,7 @@ def display8bit(self,image, display_min, display_max): image = np.array(image, copy=True) image.clip(display_min, display_max, out=image) image -= display_min - image //= (display_max - display_min + 1) / 256. + image = image / ((display_max - display_min + 1) / 256.) return image.astype(np.uint8) def lut_convert16as8bit(self,image, display_min, display_max) : diff --git a/MosaicImage.py b/MosaicImage.py index 3cf4115..e3fa6a7 100644 --- a/MosaicImage.py +++ b/MosaicImage.py @@ -432,7 +432,7 @@ def align_by_correlation(self,xy1,xy2,CorrSettings = CorrSettings()): print "one_cut,two_cut.shape",one_cut.shape,two_cut.shape - pix_shift, error, diffphase=register_translation(one_cut,two_cut,upsample_factor=20) + pix_shift, error, diffphase = register_translation(one_cut,two_cut,upsample_factor=20) dy_pix,dx_pix = pix_shift diff --git a/MosaicPlanner.py b/MosaicPlanner.py index 9298860..f5a7174 100644 --- a/MosaicPlanner.py +++ b/MosaicPlanner.py @@ -44,6 +44,8 @@ from FocusCorrectionPlaneWindow import FocusCorrectionPlaneWindow import pickle import faulthandler +import datetime + class MosaicToolbar(NavBarImproved): @@ -395,20 +397,22 @@ def write_session_metadata(self,outdir): f.write(self.channel_settings.prot_names[ch] + "\t" + "%f\t%s\n" % (self.channel_settings.exposure_times[ch],ch)) def MultiDAcq(self,outdir,x,y,slice_index,frame_index=0): - + + print datetime.datetime.now().time()," starting multiDAcq, autofocus on" self.imgSrc.set_hardware_autofocus_state(True) + print datetime.datetime.now().time()," starting stage move" self.imgSrc.move_stage(x,y) attempts=0 - + print datetime.datetime.now().time()," starting autofocus" if self.imgSrc.has_hardware_autofocus(): #wait till autofocus settles while not self.imgSrc.is_hardware_autofocus_done(): - time.sleep(.1) + time.sleep(.05) attempts+=1 if attempts>100: print "not auto-focusing correctly.. giving up after 10 seconds" break - time.sleep(.1) #wait an extra 100 ms for settle + self.imgSrc.set_hardware_autofocus_state(False) #turn off autofocus @@ -416,9 +420,10 @@ def MultiDAcq(self,outdir,x,y,slice_index,frame_index=0): score=self.imgSrc.image_based_autofocus(chan=self.channel_settings.map_chan) print score - time.sleep(.05) + print datetime.datetime.now().time()," starting multichannel acq" currZ=self.imgSrc.get_z() for k,ch in enumerate(self.channel_settings.channels): + print datetime.datetime.now().time()," start channel",ch prot_name=self.channel_settings.prot_names[ch] path=os.path.join(outdir,prot_name) if self.channel_settings.usechannels[ch]: diff --git a/imageSourceMM.py b/imageSourceMM.py index ef559d6..0634d0e 100644 --- a/imageSourceMM.py +++ b/imageSourceMM.py @@ -176,10 +176,10 @@ def set_xy(self,x,y,use_focus_plane=False): if use_focus_plane: z = self.get_focal_z(x,y) self.set_z(z) - if flipx==1: - x = -x - if flipy == 1: - y = -y + #if flipx==1: + # x = -x + #if flipy == 1: + # y = -y stg=self.mmc.getXYStageDevice() self.mmc.setXYPosition(stg,x,y) @@ -203,10 +203,10 @@ def get_xy(self): x=self.mmc.getXPosition(xystg) y=self.mmc.getYPosition(xystg) - if flipx: - x = -x - if flipy: - y = -y + #if flipx: + # x = -x + #if flipy: + # y = -y return (x,y) def get_z(self): @@ -255,14 +255,14 @@ def snap_image(self): #snap a picture, and return the data as a numpy 2d array self.mmc.snapImage() data = self.mmc.getImage() - (flipx,flipy,trans) = self.get_image_flip() - print "flx,y,trans",flipx,flipy,trans - if trans: - data = np.transpose(data) - if flipx: - data=np.fliplr(data) - if flipy: - data=np.flipud(data) + + #(flipx,flipy,trans) = self.get_image_flip() + #if trans: + # data = np.transpose(data) + #if flipx: + # data=np.fliplr(data) + #if flipy: + # data=np.flipud(data) return data