[ome-users] OMERO with iRODS?

Harri Jäälinoja harri.jaalinoja at helsinki.fi
Tue Mar 15 12:17:14 GMT 2011


Hello all,

I've made a simple iRODS/OMERO integration prototype. The idea is simply 
to make the iRODS storage area readable by DropBox.

You can find documentation for the prototype here:
http://wiki.helsinki.fi/display/LMUISA

The OMERO specific part is here:
http://wiki.helsinki.fi/display/LMUISA/iRODS+and+OMERO+integration

Here I've listed some points why this approach might be interesting:
http://wiki.helsinki.fi/pages/viewpage.action?pageId=67212966

The prototype is basically functional, but slow, unreliable and not 
connected to any serious disk space. I will build the next version on my 
new desktop computer when it arrives. Then I will hopefully be able to 
have a better idea about performance.

Cheers,
Harri


Curtis Rueden wrote:
> Hi Harri,
> 
>     Microservices are written in C. So we couldn't access the
>     Bio-Formats C++ bindings from there. Maybe just use a system() call
>     to run B-F?
> 
> 
> Sure, this is how we integrated Bio-Formats with the original C- and 
> Perl-driven OME server. The "OMEIS" process (written in C) just invoked 
> a particular Bio-Formats Java class responsible for parsing the file in 
> question. This Bio-Formats class then wrote the pixel out to a 
> particular binary file designated by OMEIS, and dumped the OME-XML 
> metadata to stdout, which the OME server's perl layer then consumed. 
> Maybe sounds complicated, but it worked like a charm!
> 
> The main thing is to create a Java helper class that behaves the way you 
> want. You then make a single system call from C to that class.
> 
>     Making the conversion to OME-TIFF in iRODS requires some coding, the
>     operation should be wrapped into a "microservice":
>     https://www.irods.org/index.php/Micro-Services
> 
> 
> Since all you need to do is convert to OME-TIFF, system calls will be 
> just fine. The main advantage of the C++ bindings is the ability to 
> perform very granular operations (at the same level as the Java API), 
> which is nice for some applications.
> 
> You might even be able to get away with calling the Bio-Formats 
> "bfconvert" tool (loci.formats.tools.ImageConverter) without need for 
> your own Java helper class.
> 
> -Curtis
> 
> 2010/10/22 Harri Jäälinoja <harri.jaalinoja at helsinki.fi 
> <mailto:harri.jaalinoja at helsinki.fi>>
> 
>     Hi Josh and others,
> 
> 
>         Does iRODS have facilities for monitoring file access times and
>         taking actions based on them?
> 
> 
>     yes, seems so. The attributes that are stored in the iRODS database
>     include timestamps for modification and creation, and I assume it is
>     possible to use those for querying:
>     https://www.irods.org/index.php/icatAttributes
> 
>     It is possible to create delayed or repeated rules, there is a
>     server process that checks every two minutes if there is something
>     to do. So one could run a job every day to move old files to another
>     location for example.
> 
> 
> 
>          From the OMERO point-of-view, this sounds very
>         straight-forward. The only issue I can think of off-hand is that
>         OMERO.fs would have to handle the read-only status. I've added a
>         story for this: http://trac.openmicroscopy.org.uk/omero/ticket/3162
> 
>     Thanks. This is my setup so far:
> 
>     1. host1 (university general purpose server)
>     - iRODS main server, with iCAT database
> 
>     2. host2 (Centos virtual server running in VMWare)
>     - OMERO
>     -- still need to enable OMERO.fs
>     - iRODS server 2, no database.
>     -- cannot connect to host1 iRODS, have to figure out why
> 
>     Once I get host2 set up, I can start learning iRODS controls with
>     some simple tests.
> 
> 
>         This is certainly a much larger undertaking, and could possibly
>         involve making Bio-Formats iRODS-aware (just glancing at Jargon
>         -- it does provide a RandomAccessFile interface, so the
>         necessary modifications may be limited). Perhaps there's a way
>         using callbacks to do the reverse of dropbox? i.e. OMERO writes
>         out to a location, and then iRODS takes control of that location
>         on receiving notification?
> 
>     I think it might be possible to accomplish the reverse drop-box with
>     either FUSE (Linux) or WebDAV (Windows, Linux, Mac):
>     https://www.irods.org/index.php/iRODS_FUSE
>     https://projects.arcs.org.au/trac/davis
> 
>     It seems those will provide an area iRODS is aware of, or a drop-box
>     into iRODS. I am not sure about this, though. For example, I was
>     explained that WebDAV doesn't really make a folder where you can
>     write, but rather just a GUI like WinSCP. I don't know about FUSE yet.
> 
> 
>         That's of course difficult for everyone involved to say. When
>         you've got both systems running, perhaps we could start with a
>         very simple test, like opening a file stored in iRODS via
>         Bio-Formats and converting it to OME-TIFF in iRODS. That would
>         let us know if there are any barriers to moving forward.
> 
>     Making the conversion to OME-TIFF in iRODS requires some coding, the
>     operation should be wrapped into a "microservice":
>     https://www.irods.org/index.php/Micro-Services
> 
>     Microservices are written in C. So we couldn't access the
>     Bio-Formats C++ bindings from there. Maybe just use a system() call
>     to run B-F?
> 
>     I will let you know when I make progress.
> 
>     Cheers,
>     Harri
> 
> 
>             Hoping to hear your comments!
> 
>             Best regards,
>             Harri
> 
> 
>         Cheers,
>         ~Josh.
> 
> 
>     _______________________________________________
>     ome-users mailing list
>     ome-users at lists.openmicroscopy.org.uk
>     <mailto:ome-users at lists.openmicroscopy.org.uk>
>     http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-users
> 
> 




More information about the ome-users mailing list