[ome-devel] ome access with c++

Zachary Pincus zpincus at stanford.edu
Sat Sep 24 02:45:36 BST 2005


Hi Folks,

Gerhard emailed me earlier about my progress on the C++ bindings. For  
the record, I was never able to get them to work properly, much less  
keep them in synch with changes in the remote API.

I think the idea as a whole isn't a bad one; I just didn't have  
enough experience in software design to really choose the right way  
to build a set of proxy wrapper classes.

In the mean time, I think that the OME::Remote API is clear enough,  
and the state of C++ XML-RPC libraries is good enough, that it should  
be pretty easy to just write directly to the OME::Remote API without  
needing a layer of proxy classes. This clearly isn't ideal, but for  
getting code to do specific tasks it should work.

I might one day wind up re-implementing the java bindings in Python.  
(This would be a pretty simple task thanks to Python's supremacy over  
all other scripting languages that begin with the letter P. :) And  
who would want to write C++ when they could be writing python/perl/java?

Zach


On Sep 23, 2005, at 2:10 PM, Ilya Goldberg wrote:

> I think it would help to get some clarification of what parts of  
> OME you would like to access from c++.
> There is a library written by BitPlane to read OME XML from c++:
> http://www.embl.de/eamnet/html/downloads.html
>
> Zach Pincus <zpincus at stanford.edu> wrote a c++ library to talk to  
> the OME data server via XMLRPC.  I haven't tried it, but I think he  
> got it to a functional state.  I don't know if he's listening in  
> (hello?  Zach?), but maybe you can contact him off-list.
>
> Tomasz wrote a sub-set of the functionality available in OMEIS  
> accessible from C.  The OMEIS interface is essentially HTTP, so  
> there's not a lot to do other than call the appropriate methods in  
> libcurl or libwww.
>
> I wouldn't go so far as to call it a library, but I wrote some  
> helper routines to access the OME data server from Excel using  
> VBA.  This happens using HTTP requests to issue queries with  
> results being sent back as flat, tab-separated plain-text tables  
> (which is convenient for Excel, but probably not what you want).
>
> -Ilya
>
> On Sep 24, 2005, at 5:07 AM, gerhard wrote:
>
>
>> T. J. Macura wrote:
>>
>>>
>>> On Sep 23, 2005, at 11:44 AM, gerhard wrote:
>>>
>>>
>>>> T. J. Macura wrote:
>>>>
>>>>
>>>>> Gerhard,
>>>>>
>>>>>
>>>>>> reading through the posts of the last months I saw several  
>>>>>> postings
>>>>>> about accessing ome with c++;
>>>>>>
>>>>>
>>>>> I can only speak about C client-library access to OMEIS.
>>>>> That exists, has been thoroughly tested, and we use it nearly
>>>>> constantly (through MEX bindings to MATLAB).
>>>>>
>>>>> It is even documented:
>>>>> http://www.openmicroscopy.org/api/omeis/client-interface.html
>>>>>
>>>>> Tom
>>>>>
>>>>>
>>>> Thanks very much,
>>>> but are there methods to upload and download files from OMEIS.
>>>>
>>> Those weren't implemented. Knowing  C, Perl, and OME internals I  
>>> would
>>> find writing an image format importer in C++ (how would it interface
>>> with OME's Perl Logical Layer?) is much harder than writing it in
>>> Perl. If there are some specific functions e.g. decompression which
>>> are easier to write in C, perhaps XS perl bindings are the way  
>>> forward.
>>>
>>>
>>>> Reading through the methods section the most functions aren't'
>>>> implemented (file methods..)
>>>>
>>> "most functions" depends on the perspective. I implemented all the
>>> functions that were important to me and meet a wide range of  
>>> needs. I
>>> didn't implement the other functions because we didn't have any real
>>> use-cases for them. I would be quite willing to implement OMEIS
>>> client-libarary  functions you need for your work.
>>>
>>> _______________________________________________
>>>
>>>> ome-devel mailing list
>>>> ome-devel at lists.openmicroscopy.org.uk
>>>> http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel
>>>>
>>>>
>>>
>>> I think at the moment the  C client library can only be used to get
>>> pixels out of OME and run for example algorithmns on them.
>>> But how does shoola access OME? XML-RPC and HTTP. But both can be  
>>> used
>>> also in C++. QT for example has classes to access http....
>>>
>>>
>>
>> _______________________________________________
>> ome-devel mailing list
>> ome-devel at lists.openmicroscopy.org.uk
>> http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel
>>
>>
>
> _______________________________________________
> ome-devel mailing list
> ome-devel at lists.openmicroscopy.org.uk
> http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel
>



More information about the ome-devel mailing list