[ome-devel] DB Upgrade, FindSpots, ST modifications, and accessing OME Pixel data from C

Ilya Goldberg igg at nih.gov
Fri Feb 17 22:57:17 GMT 2006


A couple of you reported problems running FindSpots on non-16-bit  
data.  This has now been fixed: all 7 pixel types are supported.   
Another FindSpots problem stemming from channels with the same label  
having different channel indexes has also been fixed (the channel is  
now determined from the user-supplied label for each image in the  
Dataset).

N.B.:  An install is required after updating from CVS in order to  
trigger a DB update:
cvs up -dP
sudo perl install.pl -y

Fixing this required modification of several STs ("in flight", since  
they have already been released), and may serve as a useful example  
of how to do this.  The ST modifications involved promoting several  
datatypes: integer -> float and integer -> string.  In general, STs  
modifications and other DB upgrades require updating the DB version  
string in src/perl2/OME/Install/CoreDatabaseTablesTask.pm (our  
$DB_VERSION = "2.19"), creating a directory for the next-oldest  
version in update (update/2.18/pre in this case), and placing the  
various update scripts in there, which can be pure-SQL commands  
in .sql files or perl scripts in .eval files.  The updates are run by  
the installer sequentially if it detects they are needed.  They are  
executed before most of the OME classes are loaded, and before any of  
the DB classes are loaded (i.e. before loading any descendants of  
OME::DBObject).  The files for this update (in update/2.18/pre) are  
probably the simplest kind of ST modification one could do, but may  
be informative.

Also:  The new FindSpots uses Tomasz's fabulous libhttpOMEIS to fetch  
pixel data, statistics and pixel dimensions etc directly from OMEIS  
using libcurl's implementation of http instead of using temporary  
files as before.  Since several people asked about this, it (src/C/ 
findSpotsOME.c) may serve as a useful demonstration of how to access  
OME data from C (or not).  This fix also makes it practical to once  
again run findSpotsOME from the command line (run the executable  
without arguments to get a usage message).

-Ilya



More information about the ome-devel mailing list