We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

OMERO: an open source tool for a cross-disciplinary geospatial Odyssey

00:00

Formal Metadata

Title
OMERO: an open source tool for a cross-disciplinary geospatial Odyssey
Title of Series
Number of Parts
295
Author
Contributors
License
CC Attribution 3.0 Germany:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Imaging data, whether from cameras, satellites, drones, “go-pro”, multibeams, or sonar devices despite linked to spatial data are not embedded in traditional relational databases, rather tend to be stored separately and accessed from one or more directories. As a result, managing images turns to be problematic and leads to cases of duplication, unnecessary use of space in servers or standalone machines, laborious searching and convoluted sharing. We will present OMERO, an open image data management platform for storing, sharing, searching and accessing multimodal imaging data. OMERO is an application originally built for biological microscopy, but which we have shown can also be used for ecological and environmental studies. OMERO also enables the integration with analytical tools such as R, ImageJ, Fiji, KNIME and Matlab, allowing scientists to derive quantitative outputs from large collections of imaging data. After discussing about the challenges we had to face, e.g. the ingestion of geospatial image formats, we will showcase our applications of OMERO with satellite and drone imagery, underwater photography, otholiths slides and the integration of tools for object identification, photo-id catalogues, and pattern analysis.
Keywords
Insertion lossPresentation of a groupAngleClient (computing)Library catalogData managementService (economics)Server (computing)Open sourceDifferential operatorMain sequenceComputer animationLecture/Conference
Computer-generated imageryVideo gameOpen sourceCellular automatonProjective planeVideo gameIntegrated development environmentProcess (computing)Multiplication signOpen sourceDisk read-and-write headFamilyInformation managementGroup actionComputer animation
Information managementCore dumpSoftware developerInternet forumLimit (category theory)Video gameIntegrated development environmentType theoryTable (information)Computer-generated imageryEvent horizonTerm (mathematics)SpeciesCASE <Informatik>Conservation lawAreaData managementVideo gamePrice indexCore dumpField (computer science)Type theoryDifferent (Kate Ryan album)NewsletterPoint (geometry)Multiplication signUniverse (mathematics)MereologyBlogNumberQuicksortInformation managementView (database)Internet forumComputer animation
Gamma functionComputer-generated imageryTable (information)Point (geometry)NumberVideo gameMultiplication signPhysical system
Directory serviceComputer-generated imageryFluidHill differential equationExecution unitFile systemOffice suiteMultiplication signField (computer science)Physical systemMatching (graph theory)XML
IcosahedronTask (computing)DatabaseComputer-generated imageryCountingMultiplication signInstance (computer science)Pattern languageInformationQuery languageTable (information)DatabaseCASE <Informatik>MappingMathematicsCountingPoint (geometry)Uniform resource locatorWeightNumberGame theoryComputer animation
Execution unitLink (knot theory)Point (geometry)NumberQuicksortSpacetimeNumbering schemeGroup actionSound effectVideo gamePhysical systemSurface
Information managementMathematical analysisIntegrated development environmentOpen setVisualization (computer graphics)Physical systemVideo gameFront and back endsBitDatabaseProcess (computing)Library catalogWeb browserComputer animationProgram flowchart
Information managementMathematical analysisOpen setIntegrated development environmentVisualization (computer graphics)Physical systemComputer-generated imageryView (database)Software developerWeb browserServer (computing)System administratorLevel (video gaming)DebuggerFront and back endsUser interfacePositional notationScripting languageLink (knot theory)Bit rateFormal languageMereologyBuildingArithmetic meanWorkstation <Musikinstrument>Multiplication signHypermediaoutputEndliche ModelltheorieProjective planeComputer animation
Computer-generated imageryVisualization (computer graphics)Different (Kate Ryan album)Mixed realityObject (grammar)Type theoryMathematicsKey (cryptography)Computer animationProgram flowchart
Video gamePresentation of a groupKey (cryptography)CASE <Informatik>Group actionDatabasePhysical systemLibrary catalogBus (computing)Computer animation
Group actionMenu (computing)Physical systemGroup actionUniform resource locatorService (economics)FamilyCASE <Informatik>Integrated development environmentRoundness (object)Latent heatComputer animation
Computer fontDisintegrationData modelOrbitMathematical analysisComputer-generated imagerySoftwareVideo gameBildsegmentierungSoftware testingWeb pageEmailBilderkennungConnected spaceLatent heatSlide ruleScripting languageShape (magazine)ResultantSoftwareBitNumberGroup actionCapability Maturity ModelMathematicsGoodness of fitProjective planeWebsiteSinc functionVideo gameHypermediaCASE <Informatik>Lecture/Conference
Mathematical analysisComputer-generated imageryNumberEntire functionProjective planeOrder (biology)Scripting languageLibrary catalogMultiplication signOrbitRaster graphicsObject (grammar)Endliche ModelltheorieComputer fileCASE <Informatik>Physical systemInsertion lossOpen sourceForcing (mathematics)Lattice (order)Process (computing)Row (database)Causality
Process (computing)BilderkennungNumberWater vaporOnline helpScripting languagePresentation of a groupSoftware developerBitType theoryServer (computing)CASE <Informatik>Endliche ModelltheorieMoment (mathematics)Integrated development environmentInterpreter (computing)
OrbitQuicksortCalculationInformation managementAreaLecture/Conference
OrbitIntegrated development environmentPhysical systemComputer-generated imageryInformation retrievalProcess (computing)Data managementComputer animation
Lecture/ConferenceComputer animation
Scripting languageNominal numberContent (media)Key (cryptography)ResultantElement (mathematics)Physical systemGoodness of fitWorkstation <Musikinstrument>MathematicsVideo gameCalculationCASE <Informatik>Revision controlProcess (computing)Beta functionCategory of beingPoint (geometry)Presentation of a groupLine (geometry)Multiplication signCoefficient of determinationSoftware developerMetadataOpticsRaw image formatFile formatDifferent (Kate Ryan album)Set (mathematics)Connectivity (graph theory)outputLecture/Conference
Computer-generated imageryView (database)Letterpress printingLink (knot theory)Scripting languageTouchscreenMathematical analysisType theoryRaw image formatCodeServer (computing)Subject indexingSet (mathematics)CausalityMereologyArithmetic meanBuildingUsabilityComputer animation
Level (video gaming)Set (mathematics)Multiplication signLink (knot theory)SpeciesKey (cryptography)Computer configurationObject (grammar)MIDIWeightDiffuser (automotive)Rule of inferenceCASE <Informatik>Instance (computer science)Information securityComputer animationLecture/Conference
Transcript: English(auto-generated)
So, let's get started with our last presenter. So, welcome Ilaria Marengo, who is about O'Meara. So, I will let you. Okay. Yes, thank you very much.
And thanks for everyone who is here listening to me. So, my name is Ilaria, and I work in the Falcon Islands for the South Atlantic Environmental Research Institute. And I've been as a GIS specialist and data manager. Since May, I've been working and looking at this tool
called O'Meara, which is open source and then is image catalog. So, it's a client and server service for managing the data and images. So, the O'Meara actually started
in the life science environment, so nothing to do with geography or geospatial. And what happened there is that in 2002, there was these, the project started, funded, completed by government and public money. So, it was open source also from the beginning.
And the problem that the scientists had in life science was they generated lots of images, and they needed to have some fun tool able to manage those images and make them accessible, available to many people working in the same research group.
Those images needed to be searchable and then at the same time documented. So, the project started in Dundee and then is currently maintained by these guys and more people actually behind it. This is only the core team in Dundee, the Dundee University.
There is already a community, so it's been, the tool itself is very used or well used in life science. And there is a forum. And what O'Meara does is actually a full data management of those images. So, it takes care of the documentation, as I said,
or the indices and tagging and things like that. So, when I, I just, it happened that I was reading various things, papers, and then I found out about it. And then I work with environmental scientists.
So, through my work, I just noticed that, and you know this one, so we use, they use, these researchers use different types of cameras in their field work. And then what they do is they collect basically data. And so, as you can see, it can be a drone,
it can be a camera trap or a drop-down camera. And then at the end, what you get is always our images, our pictures. And some of these are simply, are going to be used later on for blogs, reports, or newsletter.
So, they simply record the event, what happened today. But all the images are actually collected and then analyzed later on. And so, you might have people that are looking and identifying dolphins or whales from their fin or counting penguins, albatrosses. This is the case down in the falcons.
Or identifying species on the seabed. Looking at how areas of conservation are basically successful or not by looking at the number of plants that have been planted and growing and so on. So, basically, the problem was the same.
We've got images and then these images are data and they needed to be managed at some point because, yeah, because basically it becomes a problem. And then the problem essentially is the same one that the people in life science had. And essentially is what happens to those images the majority of the time and they are just thrown
and put into the file system. Sometimes you might have people that are quite educated so they do a proper naming of all the folders and then, so it's easier to find the images afterwards
after everyone comes back to the office after the field season. But generally speaking, even if the file system is pretty much tidy, it makes sense the majority of the time only to the person
who actually created it. And the majority of the time it's actually a big mess and then it's very difficult then to retrieve this information. So, for instance, if you decided to say, okay, let's search for those colonies of penguins that have got more than 100 breeding pairs.
And the image has been already analyzed at some point in the workflow. Generally, the scientist what would do is open an Excel file, the majority of the time. 5% probably this table is actually in a proper database. So the person can run an SQL query
but generally it will sort by the column called count. But then the problem is, okay, where are the images? So, as for maps, we use maps because it's much easier to visualize what is happening. And the same things is for the images.
So that in case of colonies, animals change also location. So you might have a penguin colony in opposition today with a number of breeding pairs but then this one can change and then it can move even 100, 300 or even a kilometer.
So you want also to see that one with your data. So the point is to have more intelligent searches and say, okay, what if I can also search the images straight away so that I link together the data
and the images in the same place? And so the answer for me was yes, this one is quite cool and then it can work but you need a database or at least you need one repository. You need to tag your images and then you need to create basically this sort of link
between these two objects, data and images. And then again, because you enter into a proper system, you can set up users, groups and permissions. So the schema that I just took from what the guys
are using in the life science is pretty simple even if then everything else and the backend is actually a little bit more complex. So you've got your raw data, you've got your process data, then you've got your database. In this case, everything is in Postgres
and then you can run your quantitative analysis outside Omero, not in Omero because Omero is only an image catalog. And then what you do is then you bring some of this data with your image in the same container and then you visualize. So how Omero looks like, as I said to you,
is a web client server tool and so I'm just focusing on the front end, the backend is more for developers and everything is completely documented on the links that I gave at the beginning in GitHub.
So every one of you who's really keen and want to know more about the backend can just read the docs. But the front end looks like a simple web interface and so you've got, you import the images using another, a second tool
and you've got only three main containers. So there is a project, there is the dataset and then straight away there are the images. So you don't need to create a thousand folders within the main folder. It's only two levels and this one is simply because when you import the images, you tag them.
So actually you don't, it's easy to search the image because everything is going to be tagged. And so you can create your list of tag, whoever comes and wants to tag also the image finds already the tag there so you don't have to duplicate tags, tags will be there.
Tags are also managed by the administrator so that there is no duplication. And all of these, also the admin of tags and notation you will see, you can have a rating of the images and so on is all done by, through scripts
and then at the back, the language for the scripts is Python. So as I said, there are tags and there are different ways of searching. So you search for one specific tag or you can search for two tags. So like if you've got an image that, like in this example has got three or four tags,
so you can start with one and then if there are other connected to that one, you can also add them until you basically get to those that are exactly the one, two, three and four tags that you are looking for. So you can narrow down. And similarly, you can also
search images based on various objects. So tags is one, but also rating, so you can mix the two. And then if you've got key value, you can also add those. So your search is actually running on more than one annotation and one object that you created.
Then of course, is a tool for also visualizing and the good things about this one is so you can modify and change saturation and things, but you can also take your images and create already kind of a nice
image with caption that then can be exported and then it can be usable for a scientific paper, for example. This one was the case for the life science guys that really needed as well to report back
and then have these images for presentation and papers. And then as I said to you, because this one is a proper system, so we are talking about a database, a catalog, you create your user and then you've got the groups and then there are permissions. So this one is typical for this kind of systems.
So generally, you can also decide to give, to create a specific group that is called the public group and then all the images that are placed in these public group are available to the general public.
So there is a way for sharing still internally within people that are working in the same group and in this case, keep the data open only to this small environment, but it's also possible to create a specific one where the user, actually the public user, you need only to give the URL
of where you are publishing your service and then it will get straight away to these images and it will get to the main page of mail. The good things about Mero is that it integrates with other tools like R or Matlab
and integrates as well with other image analysis tool. In this case, for example, what you see there is an autolith slide. So the autolith are the bones that fish, well, it's the ear bone of the fish and the scientists, they used to read,
well, to slice the bone and then read the age and get age and maturity and sex of the fish. So essentially, the person who provided me with the script worked entirely now, so didn't know anything about Mero
because it's something that knew that I presented to the guys in the Falcons, but what happened there is that we just changed slightly the shape R package and this one became shape RO just to give a little bit of Mero at the end. But the main changes is only in the connection
and everything else, the rest of the script was exactly what the scientists wrote for this project. But the good things is that at the end, you can import the results back into Mero so that there will be 100 slides of autolith
or whatever number of autolith bones were analyzed and then you attach back all the results. So then afterwards, you can just search for, for example, age greater than 10 years or less than 10 years and so on and so forth and then you retrieve as well your images.
So, and this one again speeds up and then make more effective the work that the researchers were trying to achieve. And the other one that I was saying is that the connection between Mero and some software that they do image analysis.
Again, what you see there is only, again, it's a software developed for that specific light science group of scientists. However, I tested on an albatross colony and what was going on in the Falklands, I had, there are some various albatross colony
on the islands and then there is a monitoring project every year so that a drone is flown over the colonies and then manually, the person has to sit down and count the either penguins or albatrosses. And you know, it's a kind of laborious work
and so in order to again speed up the data system, I tried to use this orbit tool and then essentially works as a simple image segmentation. So you can do this one also with, as if you have a raster file and then you wanted to classify,
for example, habitats, same things. You needed to train the model and then you get your, the number of object, you classify all the albatrosses and then again, you run a script. This time again, it's a python script and then you bring back into the main image catalog
all the objects, all the segmented objects and which are the albatrosses in this case and these number is, these objects are imported as ROIs in Omero and then again, you can make your search and then you can search into the entire catalog
for colonies of albatrosses with a number greater than and whatever number you want to put. So again, this one, in this way, I was achieving, we were achieving basically two things. First of all, we were speeding the process, automating basically the process of identifying albatrosses,
not more manual but using the segmentation, so image analysis and the other one was when you get straight away your number, you can search very quickly your images with the value that you want. So in conclusion is actually,
there is not a proper conclusion for me right now except that it's what we are going to do next. So as I said, I started working on and exploring how the tool can be used also in the environmental science where there is problem in managing images, that type of images that you saw
and therefore, at the moment, I'm going back to the Falklands, I'm going to deploy the tool on our local server and then I'm using the researchers in the Falklands that already provided me with the images that I used for my pilot studies
and they will be the guinea pigs. So we'll collect the feedback, we'll see really how this one and this tool can work, if it works, if it still needs more customization because it's entirely customizable. I wrote probably with the help of the developers in D&D something like 20 scripts
just to fit a little bit what the researchers asked already back in January when I just gave a small presentation on this tool. And yes, and so then I want to practice more
really this sort of interoperability with R and in this case, Orbit or Fiji because I know that the researchers are already using Fiji, for example, and I wanted just to see if it works. And then if I can give them a tool that manages images and allows them also to do some calculation and analysis,
I will be happy because it's basically my job just to do data management and facilitating their work. So yeah, and then if everything really goes well, probably other people will be interested in using and we spread the use of this tool outside the Falklands.
So, said this one, thank you very much for listening and if you've got any question, let me know. Is there any, are there any questions?
So, thanks for the presentation and I was wondering if there is any support for tracking the provenance of the images because maybe I have like an image of a penguin colony
and some Python script that counts them and maybe it's called the copy of copy of CountPenguins August 21.py and I get a result of the resulting images or data set and then maybe a month later, I want to know from which input image that was produced
and with which version of this Python script because maybe I have like 20 versions of that script laying around and I'm not sure which one was used at the time. So, yes, so if you want, you can, when you run the script, you can probably either add,
the script allows you to add annotation as well. So you do the calculation and then you add an annotation in the key value pairs, which is basically key and value and then you can run a script where you say, okay, take the name of the Python script
that you run at the time and then add it there and then it will be just a line in this annotation so that, again, this one stays with the image and then, yeah, if you want to search afterwards, you will know but it won't be complicated. As I said, I'm not a developer so I started using this one and learning
while I was doing that and then it's possible. After a while, it's not too complex, yeah. Any other? Maybe you already said this but if you have an image taken with a certain camera, it might add a lot of its own metadata
so there might be GPS and optical properties. So you collect that automatically in the system? Yeah, yeah, yeah, yeah, yeah. So because, again, the tool was built for life science, there is one element of Omero is,
well, it's actually just a different component. It's outside Omero but it's called the bioformat. So they read a lot of different formats and the metadata, the raw image is not changed. It's actually completed there and then in the first, I don't know how clear it can be
but in here, you've got something called data set and the details and the metadata coming from the camera is all there, yeah, yeah. And when you import, the tool works also in a way
that you can have your data into the server when you deploy Omero on a server, you can actually bring your images into the same server or you can have what is called an in-place import so you keep your images on a separate server
and then you create a link. Of course, then if you move the images somewhere, then you break the links and then it's a problem but it does also that. And nothing is done on the raw image but it's just a visual on the web, yeah.
Any more questions? Thanks, is the analyze of the images done in bulk? I mean, in the web? Yeah, yeah, yes, of course, yes.
It's all the, so here, I didn't actually have any print screen but yes, you write your script and then you can import images in bulk. You can apply any type of analysis that you wrote in your code on bulk images.
Each image basically has got an index so there is an ID and then each tag has got an ID and then there is a link between tag and objects. So there are various rules, of course, also about tagging and then annotating an image but yes, indeed, bulk things, you can do it.
That's great. And also, as I said, you've got a project, a data set and images. You can work on these three levels and then you can say, okay, run things at the, you import something at the data set level
and then you've got also the option to run everything into the child. So everything that is under that data set will be analyzed. Okay, and can you search or, for example, you have an images that contains, I know, penguins and albatrosses. Yep. But at one time, do you only search for penguins and at another time you search for albatrosses
or does it do the tagging in the same time for both of them or for everything that it has? So if you have, you can search for separately because if you use, depends on actually the tool that you're working.
So if there are at least three different search tools, there is only specific tag tool. So in this case, if an image is penguin and another one is albatross, you can't search both together. But then there is another tool
that allows you then to do an end, so a logical search. So then you can have, for instance, if you are into your key value pair, you've got the species name penguin, penguin, well, just in general,
and then or species name albatross. And this one will bring you both. Yeah. Any more questions? Thank you very much. Okay, thank you to you.