<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:"Segoe UI";
        panose-1:2 11 5 2 4 2 4 2 2 3;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1027" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Jon,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thanks for your input.  For now I am trying to implement multichannel acquisition with the approach that the OpenSPIM plugin takes.  From what I’ve gathered
 the approach is not through the MDA but through direct manipulation of device properties-historically because of support for the theta axis?  Disclaimer: I’m not an expert of either.  In any event, one of the goals that has been discussed on the list is getting
 the OpenSPIM plugin more in-step with ongoing releases of micromanager and perhaps use of MDA might be an avenue to explore.  But, again this is beyond my experience with the plugin thus far(and its design) and better left to a discussion with Johannes.  
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Since last week, I am able to capture with specific filterwheel and DAC settings with the OpenSPIM plugin.  The gui I’ve implemented thus far is simple and
 built around the SteppedSlider class Johannes included with the OpenSPIM plugin-I’ll take a look at your suggestions for inspiration.   There are some outstanding things (of course) including, getting micromanager to use blanking of the DACs as a shutter-not
 difficult, but critical, z bidirectionality and some image handling details(dealing with the multiple channels correctly, which you mention). 
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Once the dust settles I figure out how to push some of this back to micromanager, especially the DAC controller(hardware and software) which can be implemented
 for around $100 (custom shield, Arduino and the open micromanager device adapter I’ve modified).  Significantly cheaper than any of the other options out there.  In any event… I’ve rambled a bit.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thanks again for your input!<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Cheers,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Seth<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Jon Daniels [mailto:jon@asiimaging.com]
<br>
<b>Sent:</b> Wednesday, February 25, 2015 6:36 PM<br>
<b>To:</b> Winfree, Seth; Johannes Schindelin (johannes.schindelin@gmx.de)<br>
<b>Cc:</b> openspim@openspim.org<br>
<b>Subject:</b> re: [OpenSPIM] MultiChannel Acquisition Implementation<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Segoe UI","sans-serif";color:black">Hi Seth,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Segoe UI","sans-serif";color:black"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Segoe UI","sans-serif";color:black">I'm no expert in the OpenSPIM code, but I am very familiar with the diSPIM plugin in Micro-Manager which does something very similar.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Segoe UI","sans-serif";color:black"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Segoe UI","sans-serif";color:black">If I understand the question correctly, you want to know how to tell Micro-Manager which images are from which channels so they will get saved correctly in a
 multi-dimensional dataset.  Make sure you add the metadata tag "ChannelIndex" to the TaggedImage you are presumably getting from the camera's circular buffer and then passing along to the Micro-Manager internals.  You'll also want to call setChannelName()
 so that the index is linked to a meaningful name.  See code at <a href="https://valelab.ucsf.edu/trac/micromanager/browser/plugins/ASIdiSPIM/src/org/micromanager/asidispim/AcquisitionPanel.java">
https://valelab.ucsf.edu/trac/micromanager/browser/plugins/ASIdiSPIM/src/org/micromanager/asidispim/AcquisitionPanel.java</a>, look at runAcquisitionPrivate() (line 1506) which sets up the acquisition and then calls addImageToAcquisition() (line 2210) which
 adds the correct metadata and inserts the images into the ImageCache queue.  See also
<a href="https://micro-manager.org/wiki/Multi-Dimensional_Acquisition_Programming">
https://micro-manager.org/wiki/Multi-Dimensional_Acquisition_Programming</a>.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Segoe UI","sans-serif";color:black"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Segoe UI","sans-serif";color:black">If you are interested in the GUI aspects, see Micro-Manager's MDA window or the diSPIM plugin's simplified channel selection table.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Segoe UI","sans-serif";color:black"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Segoe UI","sans-serif";color:black">Good luck!<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Segoe UI","sans-serif";color:black"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Segoe UI","sans-serif";color:black">Jon<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Segoe UI","sans-serif";color:black"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Segoe UI","sans-serif";color:black"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Segoe UI","sans-serif";color:black"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Segoe UI","sans-serif";color:blue">>  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 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 inthe<br>
>  SPIMAcquisition plugin via Device and a FilterWheel class. Right now these<br>
>  new devices can be accessed and controlled through SPIMsetup. I do need 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 to<br>
>  far down a particular path I wanted to see if there were any strong 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">OpenSPIM@openspim.org</a><br>
>  <a href="http://openspim.org/mailman/listinfo/openspim">http://openspim.org/mailman/listinfo/openspim</a></span><span style="font-size:10.0pt;font-family:"Segoe UI","sans-serif";color:black"><br>
 <o:p></o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Segoe UI","sans-serif";color:black"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Segoe UI","sans-serif";color:black"><br>
 <o:p></o:p></span></p>
</div>
<div style="border-top:dotted #999999 1.0pt;border-left:none;border-bottom:dotted #999999 1.0pt;border-right:none;padding:5.0pt 0in 5.0pt 0in;margin-top:4.5pt;margin-bottom:4.5pt" id="sig">
<table class="MsoNormalTable" border="0" cellpadding="0" width="500" style="width:375.0pt">
<tbody>
<tr style="height:66.0pt">
<td width="125" style="width:93.75pt;padding:.75pt .75pt .75pt .75pt;height:66.0pt">
<p class="MsoNormal" align="center" style="text-align:center"><!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
<v:stroke joinstyle="miter" />
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0" />
<v:f eqn="sum @0 1 0" />
<v:f eqn="sum 0 0 @1" />
<v:f eqn="prod @2 1 2" />
<v:f eqn="prod @3 21600 pixelWidth" />
<v:f eqn="prod @3 21600 pixelHeight" />
<v:f eqn="sum @0 0 1" />
<v:f eqn="prod @6 1 2" />
<v:f eqn="prod @7 21600 pixelWidth" />
<v:f eqn="sum @8 21600 0" />
<v:f eqn="prod @7 21600 pixelHeight" />
<v:f eqn="sum @10 21600 0" />
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect" />
<o:lock v:ext="edit" aspectratio="t" />
</v:shapetype><v:shape id="_x0000_s1026" type="#_x0000_t75" alt="ASI" style='position:absolute;left:0;text-align:left;margin-left:0;margin-top:0;width:75pt;height:54pt;z-index:251658240;mso-wrap-distance-left:0;mso-wrap-distance-top:0;mso-wrap-distance-right:0;mso-wrap-distance-bottom:0;mso-position-horizontal:left;mso-position-horizontal-relative:text;mso-position-vertical-relative:line' o:allowoverlap="f">
<v:imagedata src="http://www.ASIimaging.com/images/ASIlogo.jpg" />
<w:wrap type="square"/>
</v:shape><![endif]--><![if !vml]><img width="100" height="72" src="http://www.ASIimaging.com/images/ASIlogo.jpg" align="left" alt="ASI" v:shapes="_x0000_s1026"><![endif]><b><o:p></o:p></b></p>
</td>
<td width="365" valign="top" style="width:273.75pt;padding:.75pt .75pt .75pt .75pt;height:66.0pt">
<p><b><span style="font-size:10.0pt">Jon Daniels<br>
<em><a href="http://www.ASIimaging.com"><span style="color:#00579B">Applied Scientific Instrumentation</span></a></em><br>
</span></b><em><b><span style="font-size:7.5pt">29391 West Enid Rd, Eugene, OR 97402</span></b></em><b><span style="font-size:7.5pt"><br>
<em>Phone: (541) 461-8181</em> x118<br>
<em>US & Canada: (800) 706-2284</em><br>
<em>Fax: (541) 461-4018</em></span><o:p></o:p></b></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</body>
</html>