<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Hi everyone,<div><br></div><div>Thanks for the replies!<br><div><br class="webkit-block-placeholder"></div><div style="text-align: left;"><blockquote type="cite">Are you working with Brian McCabe? If yes, say hi to him. </blockquote><br></div><div style="text-align: left;">I work in the lab of Prof. Lazar, but we do collaborate with Brian. I'll</div><div style="text-align: left;">make sure to pass the greetings!</div><div style="text-align: left;"><br></div><div style="text-align: left;"><br></div><div style="text-align: left;"><br></div><div style="text-align: left;"><br></div><div style="text-align: left;"><blockquote type="cite">May I ask how you plan to handle the data once it is acquired at this<br></blockquote><blockquote type="cite">rate?! This is no small feat... I'm also interested in what you will<br></blockquote><blockquote type="cite">image</blockquote><br></div><div style="text-align: left;">We will be imaging drosophila larvae. For now, I am just dumping the </div><div style="text-align: left;">data to a 4 TB raid array. Still working on the eventual data storage framework :)</div><div style="text-align: left;"><br></div><div style="text-align: left;"><br></div><div style="text-align: left;"><br></div><div style="text-align: left;"><br></div><div style="text-align: left;"><blockquote type="cite">I'm not sure about actually improving the write speed, but if you haven't already, and your computer has a significant amount of memory, try enabling Asynchronous Output (a checkbox next to the destination directory) in OpenSPIM. With this setting on, the software will grab frames as quickly as it can capture them (until your RAM fills up, anyway). </blockquote><div style="text-align: left;"><br></div><div style="text-align: left;">Hi Luke, I am using the asynchronous output option and have been running some profiling tests.</div><div style="text-align: left;">Disabling all stage movements and calls to get positions from the stage, I am able to</div><div style="text-align: left;">get a 20fps capture from the camera. I suspect this is due to the use of software triggering.</div><div style="text-align: left;">Will investigate further</div><div style="text-align: left;"><br></div><div style="text-align: left;">The write speed to the RAID array through openspim is really bad at this point(2-3 fps). I suspect</div><div style="text-align: left;">this is due to the use of the BioFormats writer., which somehow doesn't perform well</div><div style="text-align: left;">in this scenario. I will try to interface the TaggedImageStorageMultiPageTiff class from</div><div style="text-align: left;">MM with the openspim AsyncOutputWrapper to see if that improves things. (I am able to </div><div style="text-align: left;">get 50 fps writes through micromanager) </div><br><blockquote type="cite">Bear in mind also that if you aren't recording video, getting 100 fps suggests that all inter-frame actions complete in 10 ms. Since the default Z-stage settle delay (see "More Options") is 10 ms, achieving this may be quite difficult.<br><br></blockquote><div style="text-align: left;"><br></div><div style="text-align: left;">Right now, I am just trying to ensure that the acquisition and output operations aren't a bottleneck.</div><div style="text-align: left;">I understand that the speed will be less once I include the stage movements. I am trying to take</div><div style="text-align: left;">a modular approach to maximize throughput. I have commented all calls to the</div><div style="text-align: left;">stage(even getPosition) to run acquisition/output benchmarks. </div><br><blockquote type="cite"><br>Thanks for working through all these issues! If possible, could you document any necessary changes? I'd love to include a 64-bit OpenSPIM version in the near future.</blockquote><br></div><div style="text-align: left;">If you could send me the code you used to produce the 32 bit self extracting archive, I can try</div><div style="text-align: left;">modifying it to have a 64 bit version in the coming weeks. On a related note, references to</div><div style="text-align: left;">commons-math3-3.2.jar might be necessary in the build xml files for 32 bit as well. I see that</div><div style="text-align: left;">the switch to commons math 3 was made recently but I wasn't able to find it included in the </div><div style="text-align: left;">build files.</div><div style="text-align: left;"><br></div><div style="text-align: left;"><br></div><div style="text-align: left;"><br></div><div style="text-align: left;"><br></div><div style="text-align: left;"><br></div><div style="text-align: left;"><br></div><div style="text-align: left;"><br></div><div style="text-align: left;"><div></div><blockquote type="cite"><div>- Writing a lot of small files takes a lot more time than a single big one. You might want to test your RAID system with something like ATTO Disk Benchmark, which measures data rates for different files sizes.</div></blockquote><div><br></div><div>Hi Michael, I am getting a write speed of 1.4GBps for 16kb writes and more than 2GBps for </div><div>anything more than 32kb writes through benchmarks,.</div><div>I will investigate further by writing a standalone program in Java using Java's I/O module and</div><div>another one using the BioFormats class to test their respective speeds.</div><div><br></div><div></div></div><blockquote type="cite"><div style="text-align: left;"><div>- Buffering the data in the RAM before writing to SSD could help, or streaming everything to RAM. Requires a lot of RAM, though.</div></div></blockquote><div><br></div>I currently have 128 GB of DDR3-1600 ram. But even acquisition to ram at this point</div><div>seems to be slow(20fps) through openspim. </div><div><br></div><div>In the video mode, I am able to get 50 fps in openspim, so it seems to be stemming from </div><div>repeated calls to snapImage() as opposed to initiating a sequence acquisition.</div><div><div style="text-align: left;"><br></div><div>
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style="font-weight: normal;">----------------------------------------------</div><div style="font-size: 16px;"><b>Nikul Ukani</b></div><div style="font-weight: normal;"><br></div><div style="font-weight: normal; font-size: 13px;"><span style="font-size: 12px;">Research assistant,</span></div><div style="font-weight: normal; font-size: 13px;"><span style="font-size: 12px;">Bionet lab,</span></div><div style="font-weight: normal; font-size: 13px;"><span style="font-size: 12px;">Columbia University.</span></div><div style="font-weight: normal; font-size: 13px;"><a href="http://www.bionet.ee.columbia.edu/" style="font-size: 12px;">http://www.bionet.ee.columbia.edu/</a></div></div><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline"><br class="Apple-interchange-newline">
</div>

<br><div><div><br></div></div></div></body></html>