<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<STYLE type=text/css> P, UL, OL, DL, DIR, MENU, PRE { margin: 0 auto;} </STYLE>

<META name=GENERATOR content="MSHTML 11.00.9600.17631"></HEAD>
<BODY leftMargin=1 rightMargin=1 topMargin=1><FONT color=black size=2 face="Segoe UI">
<DIV>Hi Seth,</DIV>
<DIV> </DIV>
<DIV>I'm not sure I completely understand your question, but hopefully this will help.  I had a discussion with the Micro-Manager devs about trying to build on top of the MDA but we decided to keep things separate (and re-evaluate when 2.0 comes out).</DIV>
<DIV> </DIV>
<DIV>A key obstacle is that the plugin had knowledge of certain things not included in the MDA that affected the acquisition.  For example, whether the acquisition is single-sided or dual-view; in the latter case the number of channels is multiplied by two because you acquire from two cameras.  (Two stacks from orthogonal angles allows computational fusion for isotropic resolution instead of using a rotated capillary to achieve multiple views).  Also we have timing settings not present in the MDA.  The diSPIM plugin does utilize some objects/interfaces from the core code, for instance it uses the XY position list.  But the channels UI was so deeply embedded in the MDA code that we made our own simpler version.</DIV>
<DIV> </DIV>
<DIV>On a related note, I seem to recall that there is some Clojure code at the lowest levels of the the MDA.  Nothing like that in the diSPIM plugin, and I recall seeing something about OpenSPIM not using the Clojure too.</DIV>
<DIV> </DIV>
<DIV>Jon</DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV></DIV>
<DIV><FONT color=red>>  Jon,<BR>><BR>>  Right, you’re not using the MDA in the diSPIM plugin. I am confusing the<BR>>  parts of MM, MDA vs what is accessible on the main window via the<BR>>  ScriptInterface-I have to put MDA out of my head. You are using components<BR>>  that the MDA uses but not 'using' the MDA. I do like the use of the<BR>>  ScriptInterface to implement multiple channels. Was this to simplify the<BR>>  users experience or to compartmentalize the microscope state using the<BR>>  existing classes? In any event, I can see the advantage of this approach,<BR>>  why not use the MM acquisition/configuration states. Then I could take<BR>>  advantage of their functionality.<BR>><BR>>  I’ll think on it.<BR>><BR>
>  Thanks again for your input it has been very helpful.<BR>><BR>>  Seth<BR>><BR>>  Winfree, Seth<BR>>  <A href="mailto:winfrees@iupui.edu"><FONT color=#0000ff>winfrees@iupui.edu</FONT></A><BR>><BR>>  Indiana Center for Biological Microscopy<BR>>  Indiana University Medical Center<BR>>  950 W Walnut St, R2-202<BR>>  Indianapolis, IN 46202-5116<BR>><BR>>  On Mar 4, 2015, at 1:28 PM, Jon Daniels <jon@asiimaging.com> wrote:<BR>><BR>>  Hi Seth,<BR>><BR>>  To clarify, the diSPIM plugin does not use the MDA either. Instead it<BR>>  provides a separate GUI for performing acquisitions and Java code to handle<BR>>  the low-level details.<BR>><BR>>  I know that in version 2.0 (still pre-beta I think) the Micro-Manager<BR>
>  developers are trying to make it easier to "design your own acquisition",<BR>>  which should simplify things for people like doing acquisitionsthat don't<BR>>  fit into the MDA paradigm.<BR>><BR>>  Jon<BR>><BR>>  > Jon,<BR>>  ><BR>>  > Thanks for your input. For now I am trying to implement multichannel<BR>>  > acquisition with the approach that the OpenSPIM plugin takes. From what<BR>>  I’ve<BR>>  > gathered the approach is not through the MDA but through direct<BR>>  manipulation<BR>>  > of device properties-historically because of support for the theta axis?<BR>>  > Disclaimer: I’m not an expert of either. In any event, one of the goals<BR>>  that<BR>
>  > has been discussed on the list is getting the OpenSPIM plugin more in-step<BR>>  > with ongoing releases of micromanager and perhaps use of MDA might be an<BR>>  > avenue to explore. But, again this is beyond my experience with the plugin<BR>>  > thus far(and its design) and better left to a discussion withJohannes.<BR>>  ><BR>>  > Since last week, I am able to capture with specific filterwheel and DAC<BR>>  > settings with the OpenSPIM plugin. The gui I’ve implemented thus far is<BR>>  > simple and built around the SteppedSlider class Johannes included with the<BR>>  > OpenSPIM plugin-I’ll take a look at your suggestions for inspiration. There<BR>>  > are some outstanding things (of course) including, getting micromanager to<BR>
>  > use blanking of the DACs as a shutter-not difficult, but critical, z<BR>>  > bidirectionality and some image handling details(dealing with the multiple<BR>>  > channels correctly, which you mention).<BR>>  ><BR>>  > Once the dust settles I figure out how to push some of this back to<BR>>  > micromanager, especially the DAC controller(hardware and software) which<BR>>  can<BR>>  > be implemented for around $100 (custom shield, Arduino and the open<BR>>  > micromanager device adapter I’ve modified). Significantly cheaper than any<BR>>  > of the other options out there. In any event… I’ve rambled a bit.<BR>>  ><BR>>  > Thanks again for your input!<BR>>  ><BR>>  > Cheers,<BR>>  ><BR>>  > Seth<BR>
>  ><BR>>  > From: Jon Daniels <A href="mailto:jon@asiimaging.com"><FONT color=#0000ff>[mailto:jon@asiimaging.com]</FONT></A><BR>>  > Sent: Wednesday, February 25, 2015 6:36 PM<BR>>  > To: Winfree, Seth; Johannes Schindelin <A href="mailto:johannes.schindelin@gmx.de"><FONT color=#0000ff>(johannes.schindelin@gmx.de)</FONT></A><BR>>  > Cc: <A href="mailto:openspim@openspim.org"><FONT color=#0000ff>openspim@openspim.org</FONT></A><BR>>  > Subject: re: [OpenSPIM] MultiChannel Acquisition Implementation<BR>>  ><BR>>  > Hi Seth,<BR>>  ><BR>>  > I'm no expert in the OpenSPIM code, but I am very familiar with the diSPIM<BR>>  > plugin in Micro-Manager which does something very similar.<BR>>  ><BR>
>  > If I understand the question correctly, you want to know how to tell<BR>>  > Micro-Manager which images are from which channels so they will get saved<BR>>  > correctly in a multi-dimensional dataset. Make sure you add the metadata<BR>>  tag<BR>>  > "ChannelIndex" to the TaggedImage you are presumably getting from the<BR>>  > camera's circular buffer and then passing along to the Micro-Manager<BR>>  > internals. You'll also want to call setChannelName() so that the index is<BR>>  > linked to a meaningful name. See code at<BR>>  ><BR>>  <A href="https://valelab.ucsf.edu/trac/micromanager/browser/plugins/ASIdiSPIM/src/org"><FONT color=#0000ff>https://valelab.ucsf.edu/trac/micromanager/browser/plugins/ASIdiSPIM/src/org</FONT></A><BR>
>  > /micromanager/asidispim/AcquisitionPanel.java, look at<BR>>  > runAcquisitionPrivate() (line 1506) which sets up the acquisition and then<BR>>  > calls addImageToAcquisition() (line 2210) which adds the correct metadata<BR>>  > and inserts the images into the ImageCache queue. See also<BR>>  > <A href="https://micro-manager.org/wiki/Multi-Dimensional_Acquisition_Programming"><FONT color=#0000ff>https://micro-manager.org/wiki/Multi-Dimensional_Acquisition_Programming.</FONT></A><BR>>  ><BR>>  > If you are interested in the GUI aspects, see Micro-Manager's MDA window or<BR>>  > the diSPIM plugin's simplified channel selection table.<BR>>  ><BR>>  > Good luck!<BR>>  ><BR>>  > Jon<BR>>  ><BR>>  > > Johannes and list,<BR>
>  > ><BR>>  > > I’ve made pretty good progress on the hardware implementation of multiple<BR>>  > > channels for our L-SPIM. On the software side I’ve adapted drivers and<BR>>  > > firmware to control my homebuilt DAC (6ch for now) and NEOS-AOTF setup in<BR>>  > > micromanager and pulled everything into the SPIMAcquisition plugin with<BR>>  the<BR>>  > > Device abstraction, a new DAC class and DAC voltage GUI. Eventually there<BR>>  > > will be a wattage calibration. I also have a Sutter 10-2 implemented<BR>>  inthe<BR>>  > > SPIMAcquisition plugin via Device and a FilterWheel class. Right now<BR>>  these<BR>>  > > new devices can be accessed and controlled through SPIMsetup. I do need<BR>>  to<BR>
>  > > push all these changes to a new branch… getting there.<BR>>  > ><BR>>  > > I’m now thinking through the acquisition side of things and before I get<BR>>  to<BR>>  > > far down a particular path I wanted to see if there were any strong<BR>>  > opinions<BR>>  > > about the implementation of multiple channels. I believe I understand how<BR>>  > > you’ve implemented acquisition and haven’t found a simple way to add the<BR>>  > > extra dimension of channels (DAC and filter wheel). This could be because<BR>>  > > I’m missing something in the implementation though.<BR>>  > ><BR>>  > > Thanks in advance for your thoughts!<BR>>  > ><BR>>  > > Seth<BR>>  > ><BR>
>  > > Seth Winfree<BR>>  > > Indiana Center for Biological Microscopy<BR>>  > > Indiana University Medical Center<BR>>  > > 950 West Walnut St, R2-202<BR>>  > > Indianapolis, IN 46202-5116<BR>>  > ><BR>>  > > _______________________________________________<BR>>  > > OpenSPIM mailing list<BR>>  > > <A href="mailto:OpenSPIM@openspim.org"><FONT color=#0000ff>OpenSPIM@openspim.org</FONT></A><BR>>  > > <A href="http://openspim.org/mailman/listinfo/openspim"><FONT color=#0000ff>http://openspim.org/mailman/listinfo/openspim</FONT></A><BR>>  ><BR>>  > Jon Daniels<BR>>  > Applied Scientific Instrumentation<BR>>  > 29391 West Enid Rd, Eugene, OR 97402<BR>>  > Phone: (541) 461-8181 x118<BR>
>  > US & Canada: (800) 706-2284<BR>>  > Fax: (541) 461-4018<BR>>  ><BR>><BR>>  Jon Daniels<BR>>  Applied Scientific Instrumentation<BR>>  29391 West Enid Rd, Eugene, OR 97402<BR>>  Phone: (541) 461-8181 x118<BR>>  US & Canada: (800) 706-2284<BR>>  Fax: (541) 461-4018</FONT><BR> </DIV>
<DIV><FONT size=2 face="Segoe UI">
<DIV> </DIV>
<DIV></DIV>
<DIV><BR> </DIV></FONT>
<STYLE> #sig a:link{color: #00579b;} #sig a:visited{color: #00579b;} #sig a:hover{color: #00579b;} </STYLE>

<DIV id=sig style="FONT-SIZE: 10px; BORDER-TOP: #999 1px dotted; FONT-FAMILY: 'Lucida Grande', Verdana, Arial, Sans-Serif; BORDER-BOTTOM: #999 1px dotted; COLOR: #555; PADDING-BOTTOM: 6px; PADDING-TOP: 6px; PADDING-LEFT: 6px; MARGIN: 6px 0px; LINE-HEIGHT: 14px; PADDING-RIGHT: 6px">
<TABLE width=500 border=0>
<TBODY>
<TR>
<TH height=88 width=125 scope=col><IMG alt=ASI src="http://www.ASIimaging.com/images/ASIlogo.jpg" width=100 align=left height=72></TH>
<TH vAlign=top width=365 scope=col align=left>
<P><FONT size=2>Jon Daniels</FONT><FONT size=2><BR><EM><A href="http://www.ASIimaging.com">Applied Scientific Instrumentation</A></EM><BR></FONT><FONT size=1><EM>29391 West Enid Rd, Eugene, OR 97402</EM><BR><EM>Phone: (541) 461-8181</EM> x118<BR><EM>US & Canada: (800) 706-2284</EM><BR><EM>Fax: (541) 461-4018</EM></FONT></P></TH></TR></TBODY></TABLE></DIV></DIV></FONT></BODY></HTML>