[ome-devel] Re: need to retract/modify attribute assignment

Ilya Goldberg igg at nih.gov
Fri Sep 24 17:44:01 BST 2004


On Sep 24, 2004, at 4:36 AM, Zachary Pincus wrote:

> Ilya,

Hi Zach
>
>  However, if attribute creation and container assignment is truly 
> non-retractable in OME -- for example, if a particular algorithm has 
> labeled a spot as a cell, the user can't delete it, or relabel it as a 
> vacuole within some other cell (etc.) -- then OME seems to be of very 
> limited utility for interactive image analysis.

> So, I guess the big question is: Is there any way to support iterative 
> refinement of image annotation/attribute attachment (etc.) in OME, 
> where several users, tools, or users and tools, can change and update 
> errors in previous annotations?

We haven't overlooked this at all.  Here's a question to consider.  
When a user slides a slider or types in new parameters or whatever in a 
regular interactive application, does the application save every 
movement of the slider to disk?  Why would it save it to a DB?
Think of saving an interactive tool's settings in OME as if it were a 
"Save" button.

Here's something you can do with OME that you don't normally see.  When 
you hit "Save" in a regular application, it over-writes what you saved 
last time - right?  At least usually.  What if you could roll back the 
various times you hit "Save" back to the beginning?  With OME, that 
kind of functionality comes for free.

This would seem to complicate matters a great deal.  Now, there are a 
zillion versions of the same data, so which do you get when you search, 
etc?  The fact is that the exact same simplicity that you would have 
with an application that over-writes can be achieved with an 
application that has a versioned archive.  If you want to keep it 
simple, just use the "latest" set of data.  The difference here is that 
this allows you to do something more - rewind and review.

There is a function in OME commander (only in CVS HEAD for now) that 
lets you do an actual deletion because mistakes are inevitable - 
especially during development.  It would be possible in principle to 
"prune" the version history of what was done keeping only the "latest" 
data.

However, you bring up medical applications.  Would such an action even 
be legal in all circumstances?  Not legally as in violating a datamodel 
or whatever, but as a matter of actual law.  There has been some talk 
about getting pretty hard-core about provenance - especially about 
medical and scientific data.  Our datamodel is built around the 
provenance concept.  Every piece of information in the OME database can 
be traced backwards through all analyses that were performed, to the 
instrument the data was acquired on, the lightpath through the 
instrument, the CCD detector the photons landed on (all with serial 
numbers for all the physical components).  If you start changing the 
data in there willy-nilly, you can no longer guarantee this provenance. 
  That's why in this system you're not allowed to do that.  It isn't 
perfect in terms of its protections, because they really all need to be 
at the DB layer as well as any protections you have in the various 
APIs, but this is really the goal here.

And speaking of medical applications, you'll be pleased to know that we 
have some support for DICOM import in CVS HEAD, which will most likely 
be in the next release - 2.2.2

>
> Zach

Ilya



More information about the ome-devel mailing list