SETUP


In [70]:
import time
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

Autosipper


In [71]:
# config directory must have "__init__.py" file
# from the 'config' directory, import the following classes:
from config import Motor, ASI_Controller, Autosipper
from config import utils as ut

autosipper = Autosipper(Motor('config/motor.yaml'), ASI_Controller('config/asi_controller.yaml'))
autosipper.coord_frames


Initializing stage...
Out[71]:
hardware deck
transform [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, ... [[-1, 0, 0], [0, 1, 0], [0, 0, -1], [0, 0, 93]]
position_table None None

In [132]:
from config import gui
gui.stage_control(autosipper.XY, autosipper.Z)


(93.9997,)

In [ ]:
# add/determine deck info
autosipper.coord_frames.deck.position_table = ut.read_delim_pd('config/position_tables/deck')

# check deck alignment
# CLEAR DECK OF OBSTRUCTIONS!!
autosipper.go_to('deck', ['name'],'align')

In [ ]:
# add plate

Manifold


In [118]:
from config import Manifold

manifold = Manifold('192.168.1.3', 'config/valvemaps/valvemap.csv', 512)
manifold.valvemap[manifold.valvemap.name>0]


Out[118]:
valve name
0 0 inlet_out
2 2 inlet_in
8 8 chip_out
14 14 chip_in

In [272]:
for i in [2,0,14,8]:
    status = 'x'
    if manifold.read_valve(i):
        status = 'o'
    print status, manifold.valvemap.name.iloc[i]


o inlet_in
x inlet_out
x chip_in
x chip_out

In [255]:
for i in range(16):
    status = 'x'
    if manifold.read_valve(i):
        status = 'o'
    print i, status, manifold.valvemap.name.iloc[i]


0 x inlet_out
1 x nan
2 o inlet_in
3 x nan
4 x nan
5 x nan
6 x nan
7 x nan
8 o chip_out
9 x nan
10 x nan
11 x nan
12 x nan
13 x nan
14 o chip_in
15 x nan

In [266]:
name = 'inlet_in'
v = manifold.valvemap['valve'][manifold.valvemap.name==name]

In [212]:
v=7

In [269]:
manifold.depressurize(v)

In [270]:
manifold.pressurize(v)

In [117]:
manifold.exit()

In [240]:
for j in range(5):
    for i in range(9,14):
        manifold.depressurize(i)
        time.sleep(1)
        manifold.pressurize(i)

Micromanager


In [67]:
# !!!! Also must have MM folder on system PATH
# mm_version = 'C:\Micro-Manager-1.4'
# cfg = 'C:\Micro-Manager-1.4\SetupNumber2_05102016.cfg'
mm_version = 'C:\Program Files\Micro-Manager-2.0beta'
cfg = 'C:\Program Files\Micro-Manager-2.0beta\Setup2_20170413.cfg'

import sys
sys.path.insert(0, mm_version) # make it so python can find MMCorePy
import MMCorePy

from PIL import Image

core = MMCorePy.CMMCore()
core.loadSystemConfiguration(cfg)
core.setProperty("Spectra", "White_Enable", "1")
core.waitForDevice("Spectra")

core.setProperty("Cam Andor_Zyla4.2", "Sensitivity/DynamicRange", "16-bit (low noise & high well capacity)") # NEED TO SET CAMERA TO 16 BIT (ceiling 12 BIT = 4096)


---------------------------------------------------------------------------
CMMError                                  Traceback (most recent call last)
<ipython-input-67-9cefb0f9a674> in <module>()
     12 
     13 core = MMCorePy.CMMCore()
---> 14 core.loadSystemConfiguration(cfg)
     15 core.setProperty("Spectra", "White_Enable", "1")
     16 core.waitForDevice("Spectra")

C:\Program Files\Micro-Manager-2.0beta\MMCorePy.pyc in loadSystemConfiguration(self, *args)
   3174 
   3175         """
-> 3176         return _MMCorePy.CMMCore_loadSystemConfiguration(self, *args)
   3177 
   3178     def registerCallback(self, *args):

CMMError: Line 9: Device,Cam Andor_Zyla4.2,AndorSDK3,Andor sCMOS Camera
Failed to load device "Andor sCMOS Camera" from adapter module "AndorSDK3" [ Device adapter "AndorSDK3" failed to instantiate device "Andor sCMOS Camera" ]


In [ ]:
# core.initializeCircularBuffer()
# core.setCircularBufferMemoryFootprint(4096) # MiB

Preset: 1_PBP
ConfigGroup,Channel,1_PBP,TIFilterBlock1,Label,1-PBP

Preset: 2_BF
ConfigGroup,Channel,2_BF,TIFilterBlock1,Label,2-BF

Preset: 3_DAPI
ConfigGroup,Channel,3_DAPI,TIFilterBlock1,Label,3-DAPI

Preset: 4_eGFP
ConfigGroup,Channel,4_eGFP,TIFilterBlock1,Label,4-GFP

Preset: 5_Cy5
ConfigGroup,Channel,5_Cy5,TIFilterBlock1,Label,5-Cy5

Preset: 6_AttoPhos
ConfigGroup,Channel,6_AttoPhos,TIFilterBlock1,Label,6-AttoPhos

ACQUISITION


In [5]:
core.setConfig('Channel','2_BF')

In [6]:
core.setProperty(core.getCameraDevice(), "Exposure", 300)

In [7]:
core.snapImage()
img = core.getImage()
plt.imshow(img,cmap='gray')
image = Image.fromarray(img)
# image.save('TESTIMAGE.tif')



In [8]:
position_list = ut.load_mm_positionlist("C:/Users/fordycelab/Desktop/D1_cjm.pos")
position_list


Out[8]:
r c name x y
0 0 0 1-Pos_000_000 -16212.71272 -19875.62168
1 0 1 1-Pos_001_000 -13894.29480 -19875.62168
2 0 2 1-Pos_002_000 -11575.87688 -19875.62168
3 0 3 1-Pos_003_000 -9257.45896 -19875.62168
4 0 4 1-Pos_004_000 -6939.04104 -19875.62168
5 0 5 1-Pos_005_000 -4620.62312 -19875.62168
6 0 6 1-Pos_006_000 -2302.20520 -19875.62168
7 0 7 1-Pos_007_000 16.21272 -19875.62168
8 1 7 1-Pos_007_001 16.21272 -17557.20376
9 1 6 1-Pos_006_001 -2302.20520 -17557.20376
10 1 5 1-Pos_005_001 -4620.62312 -17557.20376
11 1 4 1-Pos_004_001 -6939.04104 -17557.20376
12 1 3 1-Pos_003_001 -9257.45896 -17557.20376
13 1 2 1-Pos_002_001 -11575.87688 -17557.20376
14 1 1 1-Pos_001_001 -13894.29480 -17557.20376
15 1 0 1-Pos_000_001 -16212.71272 -17557.20376
16 2 0 1-Pos_000_002 -16212.71272 -15238.78584
17 2 1 1-Pos_001_002 -13894.29480 -15238.78584
18 2 2 1-Pos_002_002 -11575.87688 -15238.78584
19 2 3 1-Pos_003_002 -9257.45896 -15238.78584
20 2 4 1-Pos_004_002 -6939.04104 -15238.78584
21 2 5 1-Pos_005_002 -4620.62312 -15238.78584
22 2 6 1-Pos_006_002 -2302.20520 -15238.78584
23 2 7 1-Pos_007_002 16.21272 -15238.78584
24 3 7 1-Pos_007_003 16.21272 -12920.36792
25 3 6 1-Pos_006_003 -2302.20520 -12920.36792
26 3 5 1-Pos_005_003 -4620.62312 -12920.36792
27 3 4 1-Pos_004_003 -6939.04104 -12920.36792
28 3 3 1-Pos_003_003 -9257.45896 -12920.36792
29 3 2 1-Pos_002_003 -11575.87688 -12920.36792
... ... ... ... ... ...
42 5 5 1-Pos_005_005 -4620.62312 -8283.53208
43 5 4 1-Pos_004_005 -6939.04104 -8283.53208
44 5 3 1-Pos_003_005 -9257.45896 -8283.53208
45 5 2 1-Pos_002_005 -11575.87688 -8283.53208
46 5 1 1-Pos_001_005 -13894.29480 -8283.53208
47 5 0 1-Pos_000_005 -16212.71272 -8283.53208
48 6 0 1-Pos_000_006 -16212.71272 -5965.11416
49 6 1 1-Pos_001_006 -13894.29480 -5965.11416
50 6 2 1-Pos_002_006 -11575.87688 -5965.11416
51 6 3 1-Pos_003_006 -9257.45896 -5965.11416
52 6 4 1-Pos_004_006 -6939.04104 -5965.11416
53 6 5 1-Pos_005_006 -4620.62312 -5965.11416
54 6 6 1-Pos_006_006 -2302.20520 -5965.11416
55 6 7 1-Pos_007_006 16.21272 -5965.11416
56 7 7 1-Pos_007_007 16.21272 -3646.69624
57 7 6 1-Pos_006_007 -2302.20520 -3646.69624
58 7 5 1-Pos_005_007 -4620.62312 -3646.69624
59 7 4 1-Pos_004_007 -6939.04104 -3646.69624
60 7 3 1-Pos_003_007 -9257.45896 -3646.69624
61 7 2 1-Pos_002_007 -11575.87688 -3646.69624
62 7 1 1-Pos_001_007 -13894.29480 -3646.69624
63 7 0 1-Pos_000_007 -16212.71272 -3646.69624
64 8 0 1-Pos_000_008 -16212.71272 -1328.27832
65 8 1 1-Pos_001_008 -13894.29480 -1328.27832
66 8 2 1-Pos_002_008 -11575.87688 -1328.27832
67 8 3 1-Pos_003_008 -9257.45896 -1328.27832
68 8 4 1-Pos_004_008 -6939.04104 -1328.27832
69 8 5 1-Pos_005_008 -4620.62312 -1328.27832
70 8 6 1-Pos_006_008 -2302.20520 -1328.27832
71 8 7 1-Pos_007_008 16.21272 -1328.27832

72 rows × 5 columns


In [18]:
def acquire():
    for i in xrange(len(position_list)):
        si = str(i)
        x,y = position_list[['x','y']].iloc[i]
        core.setXYPosition(x,y)
        core.waitForDevice(core.getXYStageDevice())
        logadd(log, 'moved '+si)
        
        core.snapImage()
#         core.waitForDevice(core.getCameraDevice())
        logadd(log, 'snapped '+si)
        
        img = core.getImage()
        logadd(log, 'got image '+si)
        
        image = Image.fromarray(img)
        image.save('images/images_{}.tif'.format(i))
        logadd(log, 'saved image '+si)
    
    x,y = position_list[['x','y']].iloc[0]
    core.setXYPosition(x,y)
    core.waitForDevice(core.getXYStageDevice())
    logadd(log, 'moved '+ str(0))
        
def logadd(log,st):
    log.append([time.ctime(time.time()), st])
    print log[-1]

In [ ]:
# Trial 1: crapped out after 10 min wait (stage moved to first position, shutter open, then froze)
# for some reason, did not log this (updated print statement)
log = []
for i in xrange(10):
    acquire()
    sleep = 5*(i+1)*60
    print('SLEEP', sleep)
    time.sleep(5*(i+1)*60)

In [ ]:
# Trial 2: Went to completion; max wait 9 min
log = []
for i in xrange(10):
    logadd(log, 'ACQ STARTED')
    acquire()
    sleep = (5 + 0.5*i)*60
    print 'SLEEP', sleep/60, 'min'
    time.sleep(sleep)

In [ ]:
# Trial 3: No errors
log = []
for i in xrange(10):
    sleep = (9 + 0.25*i)*60
    logadd(log, 'STRT SLEEP '+ str(sleep/60) + ' min')
    time.sleep(sleep)
    
    logadd(log, 'ACQ STARTED')
    acquire()

In [ ]:
# Trial 4: No problems through 45 min wait; terminated kernel
log = []
for i in xrange(10):
    sleep = (10 + 5*i)*60
    logadd(log, 'STRT SLEEP '+ str(sleep/60) + ' min')
    time.sleep(sleep)
    
    logadd(log, 'ACQ STARTED '+str(i))
    acquire()

In [ ]:
# Trial 5: returning stage to home at end of acquire
log = []
for i in xrange(15):
    sleep = (10 + 10*i)*60
    logadd(log, 'STRT SLEEP '+ str(sleep/60) + ' min')
    time.sleep(sleep)
    
    logadd(log, 'ACQ STARTED '+str(i))
    acquire()


['Wed May 10 23:42:21 2017', 'STRT SLEEP 10 min']
['Wed May 10 23:52:21 2017', 'ACQ STARTED 0']
['Wed May 10 23:52:23 2017', 'moved 0']
['Wed May 10 23:52:23 2017', 'snapped 0']
['Wed May 10 23:52:23 2017', 'got image 0']
['Wed May 10 23:52:23 2017', 'saved image 0']
['Wed May 10 23:52:24 2017', 'moved 1']
['Wed May 10 23:52:24 2017', 'snapped 1']
['Wed May 10 23:52:24 2017', 'got image 1']
['Wed May 10 23:52:24 2017', 'saved image 1']
['Wed May 10 23:52:25 2017', 'moved 2']
['Wed May 10 23:52:25 2017', 'snapped 2']
['Wed May 10 23:52:25 2017', 'got image 2']
['Wed May 10 23:52:25 2017', 'saved image 2']
['Wed May 10 23:52:26 2017', 'moved 3']
['Wed May 10 23:52:26 2017', 'snapped 3']
['Wed May 10 23:52:26 2017', 'got image 3']
['Wed May 10 23:52:26 2017', 'saved image 3']
['Wed May 10 23:52:27 2017', 'moved 4']
['Wed May 10 23:52:27 2017', 'snapped 4']
['Wed May 10 23:52:27 2017', 'got image 4']
['Wed May 10 23:52:27 2017', 'saved image 4']
['Wed May 10 23:52:28 2017', 'moved 5']
['Wed May 10 23:52:29 2017', 'snapped 5']
['Wed May 10 23:52:29 2017', 'got image 5']
['Wed May 10 23:52:29 2017', 'saved image 5']
['Wed May 10 23:52:30 2017', 'moved 6']
['Wed May 10 23:52:30 2017', 'snapped 6']
['Wed May 10 23:52:30 2017', 'got image 6']
['Wed May 10 23:52:30 2017', 'saved image 6']
['Wed May 10 23:52:31 2017', 'moved 7']
['Wed May 10 23:52:31 2017', 'snapped 7']
['Wed May 10 23:52:31 2017', 'got image 7']
['Wed May 10 23:52:31 2017', 'saved image 7']
['Wed May 10 23:52:32 2017', 'moved 8']
['Wed May 10 23:52:32 2017', 'snapped 8']
['Wed May 10 23:52:32 2017', 'got image 8']
['Wed May 10 23:52:32 2017', 'saved image 8']
['Wed May 10 23:52:33 2017', 'moved 9']
['Wed May 10 23:52:33 2017', 'snapped 9']
['Wed May 10 23:52:33 2017', 'got image 9']
['Wed May 10 23:52:33 2017', 'saved image 9']
['Wed May 10 23:52:34 2017', 'moved 10']
['Wed May 10 23:52:34 2017', 'snapped 10']
['Wed May 10 23:52:34 2017', 'got image 10']
['Wed May 10 23:52:34 2017', 'saved image 10']
['Wed May 10 23:52:35 2017', 'moved 11']
['Wed May 10 23:52:35 2017', 'snapped 11']
['Wed May 10 23:52:35 2017', 'got image 11']
['Wed May 10 23:52:35 2017', 'saved image 11']
['Wed May 10 23:52:36 2017', 'moved 12']
['Wed May 10 23:52:36 2017', 'snapped 12']
['Wed May 10 23:52:36 2017', 'got image 12']
['Wed May 10 23:52:36 2017', 'saved image 12']
['Wed May 10 23:52:37 2017', 'moved 13']
['Wed May 10 23:52:37 2017', 'snapped 13']
['Wed May 10 23:52:37 2017', 'got image 13']
['Wed May 10 23:52:37 2017', 'saved image 13']
['Wed May 10 23:52:38 2017', 'moved 14']
['Wed May 10 23:52:38 2017', 'snapped 14']
['Wed May 10 23:52:38 2017', 'got image 14']
['Wed May 10 23:52:38 2017', 'saved image 14']
['Wed May 10 23:52:39 2017', 'moved 15']
['Wed May 10 23:52:39 2017', 'snapped 15']
['Wed May 10 23:52:39 2017', 'got image 15']
['Wed May 10 23:52:39 2017', 'saved image 15']
['Wed May 10 23:52:40 2017', 'moved 16']
['Wed May 10 23:52:40 2017', 'snapped 16']
['Wed May 10 23:52:40 2017', 'got image 16']
['Wed May 10 23:52:40 2017', 'saved image 16']
['Wed May 10 23:52:41 2017', 'moved 17']
['Wed May 10 23:52:42 2017', 'snapped 17']
['Wed May 10 23:52:42 2017', 'got image 17']
['Wed May 10 23:52:42 2017', 'saved image 17']
['Wed May 10 23:52:42 2017', 'moved 18']
['Wed May 10 23:52:42 2017', 'snapped 18']
['Wed May 10 23:52:42 2017', 'got image 18']
['Wed May 10 23:52:42 2017', 'saved image 18']
['Wed May 10 23:52:43 2017', 'moved 19']
['Wed May 10 23:52:43 2017', 'snapped 19']
['Wed May 10 23:52:43 2017', 'got image 19']
['Wed May 10 23:52:43 2017', 'saved image 19']
['Wed May 10 23:52:44 2017', 'moved 20']
['Wed May 10 23:52:44 2017', 'snapped 20']
['Wed May 10 23:52:44 2017', 'got image 20']
['Wed May 10 23:52:44 2017', 'saved image 20']
['Wed May 10 23:52:45 2017', 'moved 21']
['Wed May 10 23:52:46 2017', 'snapped 21']
['Wed May 10 23:52:46 2017', 'got image 21']
['Wed May 10 23:52:46 2017', 'saved image 21']
['Wed May 10 23:52:47 2017', 'moved 22']
['Wed May 10 23:52:47 2017', 'snapped 22']
['Wed May 10 23:52:47 2017', 'got image 22']
['Wed May 10 23:52:47 2017', 'saved image 22']
['Wed May 10 23:52:48 2017', 'moved 23']
['Wed May 10 23:52:48 2017', 'snapped 23']
['Wed May 10 23:52:48 2017', 'got image 23']
['Wed May 10 23:52:48 2017', 'saved image 23']
['Wed May 10 23:52:49 2017', 'moved 24']
['Wed May 10 23:52:49 2017', 'snapped 24']
['Wed May 10 23:52:49 2017', 'got image 24']
['Wed May 10 23:52:49 2017', 'saved image 24']
['Wed May 10 23:52:50 2017', 'moved 25']
['Wed May 10 23:52:50 2017', 'snapped 25']
['Wed May 10 23:52:50 2017', 'got image 25']
['Wed May 10 23:52:50 2017', 'saved image 25']
['Wed May 10 23:52:51 2017', 'moved 26']
['Wed May 10 23:52:51 2017', 'snapped 26']
['Wed May 10 23:52:51 2017', 'got image 26']
['Wed May 10 23:52:51 2017', 'saved image 26']
['Wed May 10 23:52:52 2017', 'moved 27']
['Wed May 10 23:52:52 2017', 'snapped 27']
['Wed May 10 23:52:52 2017', 'got image 27']
['Wed May 10 23:52:52 2017', 'saved image 27']
['Wed May 10 23:52:53 2017', 'moved 28']
['Wed May 10 23:52:53 2017', 'snapped 28']
['Wed May 10 23:52:53 2017', 'got image 28']
['Wed May 10 23:52:53 2017', 'saved image 28']
['Wed May 10 23:52:54 2017', 'moved 29']
['Wed May 10 23:52:54 2017', 'snapped 29']
['Wed May 10 23:52:54 2017', 'got image 29']
['Wed May 10 23:52:54 2017', 'saved image 29']
['Wed May 10 23:52:55 2017', 'moved 30']
['Wed May 10 23:52:55 2017', 'snapped 30']
['Wed May 10 23:52:55 2017', 'got image 30']
['Wed May 10 23:52:55 2017', 'saved image 30']
['Wed May 10 23:52:56 2017', 'moved 31']
['Wed May 10 23:52:56 2017', 'snapped 31']
['Wed May 10 23:52:56 2017', 'got image 31']
['Wed May 10 23:52:56 2017', 'saved image 31']
['Wed May 10 23:52:57 2017', 'moved 32']
['Wed May 10 23:52:57 2017', 'snapped 32']
['Wed May 10 23:52:57 2017', 'got image 32']
['Wed May 10 23:52:57 2017', 'saved image 32']
['Wed May 10 23:52:58 2017', 'moved 33']
['Wed May 10 23:52:58 2017', 'snapped 33']
['Wed May 10 23:52:58 2017', 'got image 33']
['Wed May 10 23:52:58 2017', 'saved image 33']
['Wed May 10 23:52:59 2017', 'moved 34']
['Wed May 10 23:53:00 2017', 'snapped 34']
['Wed May 10 23:53:00 2017', 'got image 34']
['Wed May 10 23:53:00 2017', 'saved image 34']
['Wed May 10 23:53:00 2017', 'moved 35']
['Wed May 10 23:53:01 2017', 'snapped 35']
['Wed May 10 23:53:01 2017', 'got image 35']
['Wed May 10 23:53:01 2017', 'saved image 35']
['Wed May 10 23:53:01 2017', 'moved 36']
['Wed May 10 23:53:02 2017', 'snapped 36']
['Wed May 10 23:53:02 2017', 'got image 36']
['Wed May 10 23:53:02 2017', 'saved image 36']
['Wed May 10 23:53:02 2017', 'moved 37']
['Wed May 10 23:53:03 2017', 'snapped 37']
['Wed May 10 23:53:03 2017', 'got image 37']
['Wed May 10 23:53:03 2017', 'saved image 37']
['Wed May 10 23:53:03 2017', 'moved 38']
['Wed May 10 23:53:04 2017', 'snapped 38']
['Wed May 10 23:53:04 2017', 'got image 38']
['Wed May 10 23:53:04 2017', 'saved image 38']
['Wed May 10 23:53:04 2017', 'moved 39']
['Wed May 10 23:53:04 2017', 'snapped 39']
['Wed May 10 23:53:04 2017', 'got image 39']
['Wed May 10 23:53:04 2017', 'saved image 39']
['Wed May 10 23:53:05 2017', 'moved 40']
['Wed May 10 23:53:06 2017', 'snapped 40']
['Wed May 10 23:53:06 2017', 'got image 40']
['Wed May 10 23:53:06 2017', 'saved image 40']
['Wed May 10 23:53:06 2017', 'moved 41']
['Wed May 10 23:53:07 2017', 'snapped 41']
['Wed May 10 23:53:07 2017', 'got image 41']
['Wed May 10 23:53:07 2017', 'saved image 41']
['Wed May 10 23:53:07 2017', 'moved 42']
['Wed May 10 23:53:08 2017', 'snapped 42']
['Wed May 10 23:53:08 2017', 'got image 42']
['Wed May 10 23:53:08 2017', 'saved image 42']
['Wed May 10 23:53:08 2017', 'moved 43']
['Wed May 10 23:53:09 2017', 'snapped 43']
['Wed May 10 23:53:09 2017', 'got image 43']
['Wed May 10 23:53:09 2017', 'saved image 43']
['Wed May 10 23:53:09 2017', 'moved 44']
['Wed May 10 23:53:10 2017', 'snapped 44']
['Wed May 10 23:53:10 2017', 'got image 44']
['Wed May 10 23:53:10 2017', 'saved image 44']
['Wed May 10 23:53:11 2017', 'moved 45']
['Wed May 10 23:53:11 2017', 'snapped 45']
['Wed May 10 23:53:11 2017', 'got image 45']
['Wed May 10 23:53:11 2017', 'saved image 45']
['Wed May 10 23:53:12 2017', 'moved 46']
['Wed May 10 23:53:12 2017', 'snapped 46']
['Wed May 10 23:53:12 2017', 'got image 46']
['Wed May 10 23:53:12 2017', 'saved image 46']
['Wed May 10 23:53:12 2017', 'moved 47']
['Wed May 10 23:53:13 2017', 'snapped 47']
['Wed May 10 23:53:13 2017', 'got image 47']
['Wed May 10 23:53:13 2017', 'saved image 47']
['Wed May 10 23:53:14 2017', 'moved 48']
['Wed May 10 23:53:14 2017', 'snapped 48']
['Wed May 10 23:53:14 2017', 'got image 48']
['Wed May 10 23:53:14 2017', 'saved image 48']
['Wed May 10 23:53:15 2017', 'moved 49']
['Wed May 10 23:53:15 2017', 'snapped 49']
['Wed May 10 23:53:15 2017', 'got image 49']
['Wed May 10 23:53:15 2017', 'saved image 49']
['Wed May 10 23:53:16 2017', 'moved 50']
['Wed May 10 23:53:16 2017', 'snapped 50']
['Wed May 10 23:53:16 2017', 'got image 50']
['Wed May 10 23:53:16 2017', 'saved image 50']
['Wed May 10 23:53:17 2017', 'moved 51']
['Wed May 10 23:53:17 2017', 'snapped 51']
['Wed May 10 23:53:17 2017', 'got image 51']
['Wed May 10 23:53:17 2017', 'saved image 51']
['Wed May 10 23:53:18 2017', 'moved 52']
['Wed May 10 23:53:18 2017', 'snapped 52']
['Wed May 10 23:53:18 2017', 'got image 52']
['Wed May 10 23:53:18 2017', 'saved image 52']
['Wed May 10 23:53:19 2017', 'moved 53']
['Wed May 10 23:53:19 2017', 'snapped 53']
['Wed May 10 23:53:19 2017', 'got image 53']
['Wed May 10 23:53:19 2017', 'saved image 53']
['Wed May 10 23:53:20 2017', 'moved 54']
['Wed May 10 23:53:20 2017', 'snapped 54']
['Wed May 10 23:53:20 2017', 'got image 54']
['Wed May 10 23:53:20 2017', 'saved image 54']
['Wed May 10 23:53:21 2017', 'moved 55']
['Wed May 10 23:53:21 2017', 'snapped 55']
['Wed May 10 23:53:21 2017', 'got image 55']
['Wed May 10 23:53:21 2017', 'saved image 55']
['Wed May 10 23:53:22 2017', 'moved 56']
['Wed May 10 23:53:22 2017', 'snapped 56']
['Wed May 10 23:53:22 2017', 'got image 56']
['Wed May 10 23:53:22 2017', 'saved image 56']
['Wed May 10 23:53:23 2017', 'moved 57']
['Wed May 10 23:53:23 2017', 'snapped 57']
['Wed May 10 23:53:23 2017', 'got image 57']
['Wed May 10 23:53:23 2017', 'saved image 57']
['Wed May 10 23:53:24 2017', 'moved 58']
['Wed May 10 23:53:24 2017', 'snapped 58']
['Wed May 10 23:53:24 2017', 'got image 58']
['Wed May 10 23:53:24 2017', 'saved image 58']
['Wed May 10 23:53:25 2017', 'moved 59']
['Wed May 10 23:53:25 2017', 'snapped 59']
['Wed May 10 23:53:25 2017', 'got image 59']
['Wed May 10 23:53:25 2017', 'saved image 59']
['Wed May 10 23:53:26 2017', 'moved 60']
['Wed May 10 23:53:26 2017', 'snapped 60']
['Wed May 10 23:53:26 2017', 'got image 60']
['Wed May 10 23:53:26 2017', 'saved image 60']
['Wed May 10 23:53:27 2017', 'moved 61']
['Wed May 10 23:53:27 2017', 'snapped 61']
['Wed May 10 23:53:27 2017', 'got image 61']
['Wed May 10 23:53:27 2017', 'saved image 61']
['Wed May 10 23:53:28 2017', 'moved 62']
['Wed May 10 23:53:28 2017', 'snapped 62']
['Wed May 10 23:53:28 2017', 'got image 62']
['Wed May 10 23:53:28 2017', 'saved image 62']
['Wed May 10 23:53:29 2017', 'moved 63']
['Wed May 10 23:53:29 2017', 'snapped 63']
['Wed May 10 23:53:29 2017', 'got image 63']
['Wed May 10 23:53:29 2017', 'saved image 63']
['Wed May 10 23:53:30 2017', 'moved 64']
['Wed May 10 23:53:30 2017', 'snapped 64']
['Wed May 10 23:53:30 2017', 'got image 64']
['Wed May 10 23:53:30 2017', 'saved image 64']
['Wed May 10 23:53:31 2017', 'moved 65']
['Wed May 10 23:53:32 2017', 'snapped 65']
['Wed May 10 23:53:32 2017', 'got image 65']
['Wed May 10 23:53:32 2017', 'saved image 65']
['Wed May 10 23:53:32 2017', 'moved 66']
['Wed May 10 23:53:33 2017', 'snapped 66']
['Wed May 10 23:53:33 2017', 'got image 66']
['Wed May 10 23:53:33 2017', 'saved image 66']
['Wed May 10 23:53:33 2017', 'moved 67']
['Wed May 10 23:53:34 2017', 'snapped 67']
['Wed May 10 23:53:34 2017', 'got image 67']
['Wed May 10 23:53:34 2017', 'saved image 67']
['Wed May 10 23:53:34 2017', 'moved 68']
['Wed May 10 23:53:35 2017', 'snapped 68']
['Wed May 10 23:53:35 2017', 'got image 68']
['Wed May 10 23:53:35 2017', 'saved image 68']
['Wed May 10 23:53:36 2017', 'moved 69']
['Wed May 10 23:53:36 2017', 'snapped 69']
['Wed May 10 23:53:36 2017', 'got image 69']
['Wed May 10 23:53:36 2017', 'saved image 69']
['Wed May 10 23:53:37 2017', 'moved 70']
['Wed May 10 23:53:37 2017', 'snapped 70']
['Wed May 10 23:53:37 2017', 'got image 70']
['Wed May 10 23:53:37 2017', 'saved image 70']
['Wed May 10 23:53:38 2017', 'moved 71']
['Wed May 10 23:53:38 2017', 'snapped 71']
['Wed May 10 23:53:38 2017', 'got image 71']
['Wed May 10 23:53:38 2017', 'saved image 71']
['Wed May 10 23:53:42 2017', 'moved 0']
['Wed May 10 23:53:42 2017', 'STRT SLEEP 20 min']
['Thu May 11 00:13:42 2017', 'ACQ STARTED 1']
['Thu May 11 00:13:42 2017', 'moved 0']
['Thu May 11 00:17:22 2017', 'snapped 0']
['Thu May 11 00:17:22 2017', 'got image 0']
['Thu May 11 00:17:22 2017', 'saved image 0']
['Thu May 11 00:17:23 2017', 'moved 1']
['Thu May 11 00:39:58 2017', 'snapped 1']
['Thu May 11 00:39:58 2017', 'got image 1']
['Thu May 11 00:39:58 2017', 'saved image 1']
['Thu May 11 00:39:58 2017', 'moved 2']
['Thu May 11 06:28:16 2017', 'snapped 2']
['Thu May 11 06:28:16 2017', 'got image 2']
['Thu May 11 06:28:16 2017', 'saved image 2']
['Thu May 11 06:28:17 2017', 'moved 3']
['Thu May 11 06:48:19 2017', 'snapped 3']
['Thu May 11 06:48:19 2017', 'got image 3']
['Thu May 11 06:48:19 2017', 'saved image 3']
['Thu May 11 06:48:20 2017', 'moved 4']
['Thu May 11 07:21:27 2017', 'snapped 4']
['Thu May 11 07:21:27 2017', 'got image 4']
['Thu May 11 07:21:27 2017', 'saved image 4']
['Thu May 11 07:21:27 2017', 'moved 5']
['Thu May 11 10:20:57 2017', 'snapped 5']
['Thu May 11 10:20:57 2017', 'got image 5']
['Thu May 11 10:20:57 2017', 'saved image 5']

In [ ]:
# Auto
core.setAutoShutter(True) # default
core.snapImage()

# Manual
core.setAutoShutter(False) # disable auto shutter
core.setProperty("Shutter", "State", "1")
core.waitForDevice("Shutter")
core.snapImage()
core.setProperty("Shutter", "State", "0")

MM Get info


In [ ]:
core.getFocusDevice()
core.getCameraDevice()
core.XYStageDevice()
core.getDevicePropertyNames(core.getCameraDevice())

Video


In [ ]:
# cv2.startWindowThread()
cv2.namedWindow('Video')
cv2.imshow('Video',img)
cv2.waitKey(0)

In [ ]:
cv2.destroyAllWindows()
core.stopSequenceAcquisition()

In [ ]:
import cv2
cv2.namedWindow('Video')
core.startContinuousSequenceAcquisition(1)
while True:
    img = core.getLastImage()
    if core.getRemainingImageCount() > 0:
#         img = core.popNextImage()
        img = core.getLastImage()
        cv2.imshow('Video', img)
        cv2.waitkey(0)
    else:
        print('No frame')
    if cv2.waitKey(20) >= 0:
        break
cv2.destroyAllWindows()
core.stopSequenceAcquisition()
# core.reset()

EXIT


In [ ]:
autosipper.exit()
manifold.exit()
core.unloadAllDevices()
core.reset()
print 'closed'