Hi Guy,<br><br><br><div class="gmail_quote">On Wed, Apr 11, 2012 at 4:59 AM, Guy Blanchard <span dir="ltr">&lt;<a href="mailto:gb288@cam.ac.uk">gb288@cam.ac.uk</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div style="word-wrap:break-word"><div>I hope you don&#39;t mind my replying directly - please pass on if someone else is better suited to answer.</div></div></blockquote><div><br>No problem; I have CCed the appropriate mailing list.<br>

 </div><div> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word"><div>With
 thanks mainly to Karsten for showing how to get bio-formats reading 
going through the IDL JavaBridge, I have written an object in IDL for 
reading image volumes which is working fine on our Macs of various age, 
OS and IDL version, and with the IDL Virtual Machine. It is happy with 
almost all file formats I&#39;ve thrown at it, and so I&#39;m very happy with 
it. I have a few questions below that I hope someone can answer.</div><div><br></div><div>Once
 I have the IDL object running robustly for all our desired 
functionality, I&#39;d be very happy to share this, and support your 
project.</div></div></blockquote><div><br>That would be greatly appreciated!<br><br>FYI, effective nice way to share is via GitHub: fork the Bio-Formats repository (<a href="https://github.com/openmicroscopy/bioformats.git">https://github.com/openmicroscopy/bioformats.git</a>), make changes to your fork, then file a pull request for us to merge the changes back upstream.<br>

<br></div><div> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word"><div>A few questions:</div><div><br></div><div>

1
 Looking at the metadata in many file formats, there is information 
about the size of the x-, y- and z- steps, mostly/always in millimetres.
 I did not find anything in your documentation about ImageReader (or 
other objects) retrieving this information - either I&#39;ve missed it, or 
is this kind of information too varied between formats for you to be 
able to extract it reliably?</div></div></blockquote><div><br>Bio-Formats does retrieve the information, and standardizes it to OME data structures (i.e., OME-XML). In OME terminology, they are called PhysicalSizeX, PhysicalSizeY and PhysicalSizeZ, and are stored in microns.<br>

<br>Here is an example of how to access it from Java:<br><a href="https://github.com/openmicroscopy/bioformats/blob/develop/components/bio-formats/utils/GetPhysicalMetadata.java">https://github.com/openmicroscopy/bioformats/blob/develop/components/bio-formats/utils/GetPhysicalMetadata.java</a><br>

<br></div><div> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word"><div>2 FilePatterns</div><div>I can successfully generate appropriate FilePatterns (through FileStitcher) to read lists of tiff files in one directory.</div>

<div>However,
 our native file format that was set up about 10 years ago and which we 
use extensively (which is not very sensible in retrospect, but it made 
sense at the time) for 4D movies (tiffs) is:</div><div><br></div><div>.../basepath/basename.ch_[c]/basename.[z]/basename[t].[z]</div><div><br></div><div>where
 the [z] number is both in the name of a directory, and in the filenames
 in that directory. I have not been able to find a way to set up an 
appropriate FilePattern that works for this format. Is this too 
complicated, or is there a way to do this either with regexp or by 
teaching FilePattern that the [z] is used twice in the name?<br></div></div></blockquote><div><br>Hmm, unfortunately, I am guessing we will need to file a ticket for that.<br><br></div><div> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

<div style="word-wrap:break-word"><div>3 log4j<br>I&#39;m afraid I&#39;m not very experienced with Java, and I&#39;m having trouble getting log4j working. </div><div><div><br></div><div>% log4j:WARN No appenders could be found for logger (loci.common.NIOByteBufferProvider).</div>

<div>% log4j:WARN Please initialize the log4j system properly.</div><br></div><div>There
 seems to be some log4j already bound up in your loci_tools.jar, and 
I&#39;ve tried various combinations of adding the various jars from the 
log4j/slf4j site that you point us to, but in the end can&#39;t work out 
which jars to include. Currently I am just using loci_tools.jar and 
idljavab.jar (rather than bio-formats.jar and others, since one download
 is simpler than many).</div></div></blockquote><div><br>Yes, all the needed log4j stuff is already included in loci_tools.jar. So in theory those messages should not be appearing. You see them only when calling Bio-Formats from IDL?<br>

<br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word"><div>I&#39;m hoping that once this is running, 
getting control back from the IDL JavaBridge will be possible - at the 
moment if I interrupt while control is with bio-formats through the Java
 Bridge, my session hangs.</div></div></blockquote><div><br>Sorry to hear that. Unfortunately, I am not experienced enough with IDL to be able to recommend a solution.<br><br><br></div></div>Regards,<br>Curtis<br><br><br>

<div class="gmail_quote">On Wed, Apr 11, 2012 at 4:59 AM, Guy Blanchard <span dir="ltr">&lt;<a href="mailto:gb288@cam.ac.uk">gb288@cam.ac.uk</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div style="word-wrap:break-word">Hi Curtis, <div>I hope you don&#39;t mind my replying directly - please pass on if someone else is better suited to answer.</div><div><br></div><div>With thanks mainly to Karsten for showing how to get bio-formats reading going through the IDL JavaBridge, I have written an object in IDL for reading image volumes which is working fine on our Macs of various age, OS and IDL version, and with the IDL Virtual Machine. It is happy with almost all file formats I&#39;ve thrown at it, and so I&#39;m very happy with it. I have a few questions below that I hope someone can answer.</div>

<div><br></div><div>Once I have the IDL object running robustly for all our desired functionality, I&#39;d be very happy to share this, and support your project.</div><div><br></div><div>A few questions:</div><div><br></div>

<div>1 Looking at the metadata in many file formats, there is information about the size of the x-, y- and z- steps, mostly/always in millimetres. I did not find anything in your documentation about ImageReader (or other objects) retrieving this information - either I&#39;ve missed it, or is this kind of information too varied between formats for you to be able to extract it reliably?</div>

<div><br></div><div>2 FilePatterns</div><div>I can successfully generate appropriate FilePatterns (through FileStitcher) to read lists of tiff files in one directory.</div><div>However, our native file format that was set up about 10 years ago and which we use extensively (which is not very sensible in retrospect, but it made sense at the time) for 4D movies (tiffs) is:</div>

<div><br></div><div>.../basepath/basename.ch_[c]/basename.[z]/basename[t].[z]</div><div><br></div><div>where the [z] number is both in the name of a directory, and in the filenames in that directory. I have not been able to find a way to set up an appropriate FilePattern that works for this format. Is this too complicated, or is there a way to do this either with regexp or by teaching FilePattern that the [z] is used twice in the name?<br>

<br></div><div>3 log4j<br>I&#39;m afraid I&#39;m not very experienced with Java, and I&#39;m having trouble getting log4j working. </div><div><div><br></div><div>% log4j:WARN No appenders could be found for logger (loci.common.NIOByteBufferProvider).</div>

<div>% log4j:WARN Please initialize the log4j system properly.</div><br></div><div>There seems to be some log4j already bound up in your loci_tools.jar, and I&#39;ve tried various combinations of adding the various jars from the log4j/slf4j site that you point us to, but in the end can&#39;t work out which jars to include. Currently I am just using loci_tools.jar and idljavab.jar (rather than bio-formats.jar and others, since one download is simpler than many).</div>

<div>I&#39;m hoping that once this is running, getting control back from the IDL JavaBridge will be possible - at the moment if I interrupt while control is with bio-formats through the Java Bridge, my session hangs.</div>

<div><br></div><div>Many thanks for your help,</div><div>Guy</div><div><br></div><div><span style="font-size:12px"><br></span></div><div><span style="font-size:12px">=======================================</span></div><div>

<div><span style="text-indent:0px;letter-spacing:normal;font-variant:normal;font-style:normal;font-weight:normal;line-height:normal;border-collapse:separate;text-transform:none;font-size:12px;white-space:normal;font-family:Helvetica;word-spacing:0px"><div style="word-wrap:break-word">

<span style="text-indent:0px;letter-spacing:normal;font-variant:normal;font-style:normal;font-weight:normal;line-height:normal;border-collapse:separate;text-transform:none;font-size:12px;white-space:normal;font-family:Helvetica;word-spacing:0px"><div style="word-wrap:break-word">

<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px"><font style="font:normal normal normal 12px/normal Helvetica" face="Helvetica" size="3">Dr Guy Blanchard</font></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px">

<font style="font:normal normal normal 12px/normal Helvetica" face="Helvetica" size="3">Dept Physiology, Development and Neuroscience</font></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px">

<font style="font:normal normal normal 12px/normal Helvetica" face="Helvetica" size="3">Downing Site</font></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px"><font style="font:normal normal normal 12px/normal Helvetica" face="Helvetica" size="3">Cambridge CB2 3DY</font></div>

<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 12px/normal Helvetica;min-height:14px"><br></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px">

<font style="font:normal normal normal 12px/normal Helvetica" face="Helvetica" size="3">email: <a href="mailto:gb288@cam.ac.uk" target="_blank">gb288@cam.ac.uk</a></font></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px">

mobile: <a href="tel:%2B44%207930%20988145" value="+447930988145" target="_blank">+44 7930 988145</a></div></div></span></div></span><div><span style="font-size:12px">=======================================</span></div><div>

<div><span style="text-indent:0px;letter-spacing:normal;font-variant:normal;font-style:normal;font-weight:normal;line-height:normal;border-collapse:separate;text-transform:none;font-size:12px;white-space:normal;font-family:Helvetica;word-spacing:0px"><div style="word-wrap:break-word">

<span style="text-indent:0px;letter-spacing:normal;font-variant:normal;font-style:normal;font-weight:normal;line-height:normal;border-collapse:separate;text-transform:none;font-size:12px;white-space:normal;font-family:Helvetica;word-spacing:0px"><div style="word-wrap:break-word">

</div></span></div></span></div></div></div><div><div class="h5"><div><div><br></div><div><br></div><div>On 9 Mar 2012, at 17:10, Curtis Rueden wrote:</div><br><blockquote type="cite">Hi Guy,<br><br><blockquote style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">

Hi, we have cell tracking and analysis software that we have been developing for over 10 years now in IDL that we are planning to make generally available soon. After many years of fighting with lots of different image/movie formats, we are planning now to replace all our existing image file reading and management to your Bio-Formats C++ library that we can call both from within IDL and from within our C(++) DLLs that we call from IDL.<br>

</blockquote><br>This is exactly the sort of use case we want to enable with Bio-Formats. We should not all have to &quot;reinvent the wheel&quot; to support the explosion of proprietary file formats, but rather share a common library for doing so.<br>

 <br><blockquote style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"> Before embarking on this, I wondered if you think that in principle this should all work, and also whether you know of anyone that has already invested in calling your Bio-Formats library (in some form) from IDL that we could talk to?<br>

</blockquote> <br>Karsten Rodenacker developed a script to call Bio-Formats from IDL using the IDL-Java Bridge. With this approach, you do not need to use the Bio-Formats C++ bindings to call from IDL, but rather can invoke Bio-Formats more or less directly.<br>

 <br>Please see the Bio-Formats IDL page for details:<br>    <a href="http://loci.wisc.edu/bio-formats/idl" target="_blank">http://loci.wisc.edu/bio-formats/idl</a><br><br>Note that the Bio-Formats IDL script is several years old now and I am sure Karsten would welcome any improvements. I have CCed Karsten on this reply in case he has any further comments.<br>

 <br>Regarding your other requirement—calling Bio-Formats from C/C++ DLLs—the Bio-Formats C++ bindings (BF-CPP) could be very useful for that. Be warned, though, that we have found cross-platform BF-CPP support to be riddled with obstacles, particularly with respect to dependency management and portability of shared libraries. That said, BF-CPP is in use every day at LOCI and works very well. And we have current funding to improve access to Bio-Formats from C++, so this type of usage will become easier over time.<br>

 <br><blockquote style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">More generally, could you comment on whether you intend to continue to keep your Bio-Formats up to date to be able to deal with new movie formats as they are &#39;invented&#39; by the various Microscopy companies? We would like to invest in Bio-Formats - but only if you plan to keep up to date with continuing format developments.<br>

</blockquote><br>We are committed to developing and maintaining Bio-Formats now and for the foreseeable future. The development is active, well funded, and vital to many projects worldwide (see <a href="http://loci.wisc.edu/bio-formats/applications" target="_blank">http://loci.wisc.edu/bio-formats/applications</a>). The project is a key component of the Open Microscopy Environment project (<a href="http://openmicroscopy.org/" target="_blank">http://openmicroscopy.org/</a>), as well as the burgeoning SciJava initiative (<a href="http://scijava.github.com/" target="_blank">http://scijava.github.com/</a>). It is here to stay.<br>

 <br>Regards,<br>Curtis<br><br><br><div class="gmail_quote">On Fri, Mar 9, 2012 at 4:33 AM,  <span dir="ltr">&lt;<a href="mailto:gb288@cam.ac.uk" target="_blank">gb288@cam.ac.uk</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

 Dr Guy Blanchard sent a message using the contact form at <a href="http://loci.wisc.edu/contact" target="_blank">http://loci.wisc.edu/contact</a>.<br> <br> Hi, we have cell tracking and analysis software that we have been developing for over 10 years now in IDL that we are planning to make generally available soon. After many years of fighting with lots of different image/movie formats, we are planning now to replace all our existing image file reading and management to your Bio-Formats C++ library that we can call both from within IDL and from within our C(++) DLLs that we call from IDL.<br>

 Before embarking on this, I wondered if you think that in principle this should all work, and also whether you know of anyone that has already invested in calling your Bio-Formats library (in some form) from IDL that we could talk to?<br>

 <br> More generally, could you comment on whether you intend to continue to keep your Bio-Formats up to date to be able to deal with new movie formats as they are &#39;invented&#39; by the various Microscopy companies? We would like to invest in Bio-Formats - but only if you plan to keep up to date with continuing format developments.<br>

 <br> With thanks for your help,<br> Guy<br> </blockquote></div><br></blockquote></div><br></div></div></div><div><span style="line-height:normal;text-indent:0px;border-collapse:separate;letter-spacing:normal;font-variant:normal;text-transform:none;font-style:normal;white-space:normal;font-family:Helvetica;font-weight:normal;word-spacing:0px"><div style="word-wrap:break-word">

<span style="line-height:normal;text-indent:0px;border-collapse:separate;letter-spacing:normal;font-variant:normal;text-transform:none;font-style:normal;white-space:normal;font-family:Helvetica;font-weight:normal;word-spacing:0px"><br>

</span></div></span><br> </div><br></div></blockquote></div><br>