How will you use Orfeo ToolBox in the next few years ?
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
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 | 10.5446/43422 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
| |
Keywords |
FOSS4G Bucharest 2019162 / 295
15
20
28
32
37
38
39
40
41
42
43
44
46
48
52
54
57
69
72
75
83
85
87
88
101
103
105
106
108
111
114
119
122
123
126
129
130
131
132
137
139
140
141
142
143
144
147
148
149
155
157
159
163
166
170
171
179
189
191
192
193
194
195
196
197
202
207
212
213
214
215
216
231
235
251
252
263
287
00:00
MassMaxima and minimaInclusion mapSpacetimeService (economics)Prisoner's dilemmaLecture/ConferenceComputer animation
00:20
Interactive televisionBitResultantCuboidComputer animation
00:47
BitLecture/Conference
01:27
Letterpress printingArtistic renderingSatelliteCartesian coordinate systemComputer animation
01:45
Cartesian coordinate systemMedical imagingMappingArtistic renderingLine (geometry)Object (grammar)Right angleCASE <Informatik>Software
02:18
BitMedical imagingData storage deviceSound effectProcess (computing)ChainRemote procedure call
02:43
Data modelChi-squared distributionData conversionOpen setFiber bundleComputer-generated imageryMedical imagingCartesian coordinate systemLevel (video gaming)Library (computing)PreprocessorSatelliteComputer animation
03:14
ChainInclusion mapMereologyLink (knot theory)Library (computing)HypermediaDialectPlug-in (computing)Row (database)User interfaceMeasurementMedical imagingCartesian coordinate systemComputer animation
04:13
Presentation of a groupSoftwareComputer animationLecture/Conference
04:38
Arithmetic meanMedical imagingParameter (computer programming)Internet forumFile viewerFilter <Stochastik>Cartesian coordinate systemZoom lensSatelliteComputer animation
05:27
Error messageGraphical user interfaceTime zoneoutputComputer-generated imageryCone penetration testCommon Language InfrastructurePhysical lawBoolean algebraParameter (computer programming)Normed vector spaceRegulärer Ausdruck <Textverarbeitung>Asynchronous Transfer ModeMach's principleDuality (mathematics)CodeMIDICartesian coordinate systemUser interfaceParameter (computer programming)Electronic mailing listPresentation of a groupReplication (computing)Sanitary sewerGraphical user interfaceTrailLine (geometry)Ring (mathematics)Computer animation
06:09
Installation artSign (mathematics)Gamma functionInclusion mapCartesian coordinate systemInternetworkingMedical imagingBitNeuroinformatikMeasurementWeb pagePoint (geometry)Service (economics)Digital photographyUser interfaceProcess (computing)Remote procedure callSoftwareModule (mathematics)Plug-in (computing)Link (knot theory)MappingParameter (computer programming)Computer animation
07:57
Module (mathematics)Extension (kinesiology)Core dumpComputing platformBuildingModul <Datentyp>Open sourceFunctional (mathematics)Cartesian coordinate systemRemote procedure callModule (mathematics)Template (C++)Core dumpComputing platformAreaNetwork topologyMeasurementMoment (mathematics)Wave packetBuildingRight angleEndliche ModelltheorieComputer animation
09:19
Multiplication signCartesian coordinate systemView (database)Point (geometry)Software developerModule (mathematics)BitOffice suiteArithmetic meanLecture/Conference
09:43
Module (mathematics)TensorSoftware frameworkDataflowComputer-generated imageryInstance (computer science)Generic programmingAsynchronous Transfer ModeBuildingMedical imagingElectric generatorSoftware developerBlock (periodic table)Video gameModule (mathematics)Remote procedure callCartesian coordinate systemSoftware frameworkOperator (mathematics)PixelComputer animation
10:57
Module (mathematics)DataflowTensorSoftware frameworkComputer-generated imageryPlastikkarteMedical imagingEmailImage resolutionWeightLecture/ConferenceComputer animation
11:26
Module (mathematics)DataflowTensorSoftware frameworkComputer-generated imageryPixelAnalytic continuationFunctional (mathematics)Module (mathematics)Cartesian coordinate systemMedical imagingChief information officerCellular automatonMathematics
12:06
Windows RegistryRead-only memoryMiniDiscOperations researchIntegrated development environmentFormal languageProcess (computing)Computer-generated imageryDisintegrationRaster graphicsPoint cloudKernel (computing)GoogolUser interfaceBlock (periodic table)AreaWeb 2.0MiniDiscGroup actionFormal languageProof theoryCartesian coordinate systemNeuroinformatikMedical imagingFactory (trading post)INTEGRALState observerSanitary sewerReynolds numberService (economics)ExistenceLibrary (computing)Goodness of fitMultiplication signParameter (computer programming)Line (geometry)Level (video gaming)Semiconductor memoryConnected spaceIntegrated development environmentSoftware developerScripting languageFunction (mathematics)Wave packetType theoryElectronic mailing listDifferent (Kate Ryan album)Lecture/ConferenceComputer animation
15:42
Integrated development environmentDisintegrationPoint cloudKernel (computing)GoogolRaster graphicsChainDifferent (Kate Ryan album)Library (computing)LaptopOperator (mathematics)Process (computing)Software frameworkRow (database)User interfacePhysical systemPoint cloudLabour Party (Malta)Computer animation
17:03
EstimationGraphical user interfaceInternet forumDisintegrationCompilation albumSoftware testingCodeFactory (trading post)Continuous integrationMereologyGravitationContinuous integrationComplete metric spaceFeedbackCartesian coordinate systemSoftware testingDifferent (Kate Ryan album)Multiplication signInternet forumPoint (geometry)INTEGRALInstance (computer science)Perspective (visual)SummierbarkeitForm (programming)Goodness of fitTerm (mathematics)Process (computing)Software developerWebsiteComputer animation
18:28
Internet forumFeedbackPoint (geometry)Internet forumConnected spaceDependent and independent variablesDifferent (Kate Ryan album)Computer programmingWritingCollaborationismGoogolFunction (mathematics)Computer fileoutputGoodness of fitGeometryObservational studyApache ForrestEstimationDevice driverRevision controlProcess (computing)BitExpressionReading (process)Multiplication signPhysical systemShape (magazine)CuboidPrice indexRectifierRadiometryVirtualizationModule (mathematics)TesselationDigital photographyPoint cloudFilter <Stochastik>Electronic data processingRaster graphicsTime seriesLocal ringMoment (mathematics)OpticsFile systemComputer animationLecture/ConferenceMeeting/Interview
23:30
Internet forumFeedback
Transcript: English(auto-generated)
00:07
Hello, can everybody can hear me? Okay. So let's start. Yeah, that's it. So my name
00:24
is Enya Nick. I'm working at the French Space Agency at Kness. I'm very glad to present you off the toolbox this afternoon. I'm very glad that you come, so many people. Maybe we'll try to make it a bit interactive. That's why the title is a question. How will
00:43
you use off the toolbox in the next few years? That means that maybe some of you already use off the toolbox. Do people are using that software? Yeah. And maybe other people don't use yet off the toolbox, so I'm going to present a little bit. I'm not alone because
01:02
there will be a question. And as you may know the TV show Who Wants to be a Billionaire, when you cannot answer a question, you have a kind of a joker. And I won't hesitate to use the ask a friend joker because we have here Remy Cresson from Istere, and also David Ducefi from Kness, who may answer the question with me. Okay. So let's start
01:26
by presenting a few things you can do with off the toolbox. Sometimes you receive some remote sensing data, some satellite images, and the rendering is not so good. You don't have a good contrast, you don't have a good rendering, and you would like
01:42
to make a nice print. You can use one application to make a local adaptation of his histogram, so you have a good rendering of the images. That's an example of what you could do with off the toolbox. Or maybe you are interested in mapping objects,
02:02
and you want to use an application to detect lines, and then you can import lines in your software and try to filter them to find perpendicular lines or whatever. And it could be another use case of off the toolbox. Or maybe simply you think that the river is quite hot in Bucharest. You want to go at the mountain, and because 3D is a bit
02:27
trendy, you make several images of the mountain with off the toolbox, or with a processing chain using off the toolbox, you can build this kind of stereoscopic view of off the toolbox, okay? Off the mountain, sorry. So off the toolbox is a library of remote
02:48
sensing applications. There are about 90 applications in the library, and the applications go from the very low-level pre-processing of satellite images to high-level processing,
03:05
some of them I'll show you. Okay? So now if you want to have a look at what's inside of the toolbox, it's a kind of multilayer sandwich, like you can see. At the lower layer, we have some well-known libraries. After we have our C++ application
03:28
public interface, and then the layer of off the toolbox applications. Over that, we have a very efficient image URL called Monteverdi, okay? So here are some libraries you may
03:43
know, like JDAL, like ITK, and we are built on the shoulders of this giant, and we also have a link with QGIS, because there is a plugin that allows you to use off the toolbox application directly from QGIS, and we'll talk about that later.
04:04
As you may know, off the toolbox is part of OSGEO since three years now, and it's already licensed under Apache v2 license, okay? But as I told you at the beginning,
04:21
the subject of the presentation is not only what is off the toolbox, but who are the users of off the toolbox, what are you going to do with off the toolbox, how can you use off the toolbox? So the whole story is not about the software itself, but about users. Okay, so these are the users of off the toolbox. Doesn't like, no, I don't
04:46
recognize anyone. Okay, so we are going to focus on the different ways you could use off the toolbox. A good way to begin to use off the toolbox is to launch Monteverdi.
05:02
Monteverdi is a very efficient image viewer that allows you to load very big satellite images, to zoom in, zoom out very efficiently, to apply some filters like you can see here, to adapt the histogram, to change the channels, and so on. You can also launch applications
05:22
from Monteverdi, okay? So the off the toolbox applications, as I said, there are about 90 applications, and the main principle is that for every application we have three different interfaces that are generated automatically. One application with a graphical interface,
05:44
one command line interface, and also a Python interface, and we'll talk later about the Python interface because it's the main subject of this presentation, okay? So for every application you have a list of parameters, and the same parameters you will find in
06:01
every interface with the same name, so it facilitates the use of off the toolbox. So now we can also launch application, off the toolbox application within QGIS. From QGIS 3.8, I think it's now an official plug-in. It has been an official plug-in before
06:26
and now it's again an official plug-in, and so you can install off the toolbox plug-in from QGIS. You just have to install off the toolbox as well on your computer to make it work, and then there is a link between the two software and you can launch
06:45
off the toolbox application and process your images. You can select an image in the stack here and launch an application. Okay, so it's quite convenient way to use off the toolbox
07:02
when you begin, but to be honest we still have some problems with this interface, with this plug-in because of some mapping issue between off the toolbox parameters and QGIS parameters in the GUI. It's a bit complex to resolve, it's a bit complex to work on
07:23
that subject, so maybe if there are any volunteers, any people that know well QGIS, who have an idea, it could be a good idea to discuss together about how to improve it. It's not the only way to use off the toolbox as I said, but I think it could be fine for
07:41
some people, so if you have any idea, if you know well QGIS, we are here and it is great to discuss with you. Now I am going to speak about remote module. Remote module is like an off the toolbox application, but it's an external off the toolbox application
08:07
so it extends the functionalities of the core off the toolbox. But when you build your remote module, in fact you can start with, you can get clone remote module and we have a template of remote module, okay, and you can start developing some application
08:26
using off the toolbox filters, using off the toolbox application, you have all the power of off the toolbox. And when you think it's quite mature and maybe you want that other users could benefit from your remote module, you can ask us and we can
08:43
put daily build chain, for example, to deliver your package throughout your application while building a platform to the other users. So it's very convenient. We don't know how many remote modules exist, in fact we know dozens of them. We have eight remote modules
09:04
that we consider as official remote modules that we want to package with off the toolbox quite regularly, but there are other remote modules that we don't know because they are not open source at the moment or because maybe some of you have tried to build an application and maybe in a few months you will tell, okay, I've done that, maybe
09:25
it could be useful to other users off the toolbox and it becomes more official, okay. So, now it's time to invite Remi who will talk a little bit about the remote module he made and I wanted him to talk about it from the developer point of view.
09:45
Not only because it's very interesting, it's remote module, but also because there's a good experience of developing with off the toolbox. Thank you, Yannick. Just I would like to add that remote module are really great if you want to implement a feature that is not already in the off your toolbox, for
10:04
instance, some pixel wise operation or you want to use some, for instance, tensorflow and you want to keep the streamable aspect of the easy pipeline because you can use the OTP application like building blocks, you know, you can build big things with a
10:20
smaller or little tools. So, remote modules are really useful, I think, when you want to do some custom mid-level stuff and after that you can use the high-level API of the toolbox like Python or something like that to use it. So, it's really great. You have many advantage to build your own application. So, this is one example. I developed
10:46
the UTBTF remote module, which is a kind of generic framework, multipurpose framework for deep learning on the real world remote sensing images. I mean, you know, when you
11:02
read a scientific paper, people are working on tiny image like postal card stamps and in the real life, images are quite big. So, here you have some SRGAN. It's a deep net that transform a low-resolution image into a high-resolution image. So, this is
11:22
some Sentinel-2 image and this is some Sentinel-2 image, which looks like a spot-7 image. So, that's just an example. The image is like, I don't remember, but like a hundred of thousand pixels side. So, it's a big image and you can process it similarly
11:43
and connect this application with some other application like a bandmatics or if you want to perform some optical calibration before and you can do it by changing simply the applications. So, that's why remote modules are really a great functionality of OTB.
12:02
And yeah, I will let Yannick continue. He will show you how we can change this legal blocks together with the Python API. Thanks. Okay. Thank you, Remy. So, now we're going to talk about the Python interface to see
12:24
how our photoblocks and Python can work together. In fact, the Python interface is at the same level as the application interface. You cannot connect to the lower interface, but it's enough to make a lot of interesting stuff. In fact, the API is very,
12:43
very simple. You have to import a module. You create the application like that and then you set parameters. That means that you have to know the list of parameters, but OTB applications are quite well documented, so you can type the name of the application in the command line and you get the name of the parameters. And when you know that,
13:02
you can set the parameters in your Python script and execute your application. An interesting thing is that OTB applications can be linked in a pipeline. That means that if you use a pipeline functionality, the images won't be wrote down on the disk
13:25
on red. It will only be right at the end and red just near the beginning. It's a very, very interesting characteristic to make some efficient computations because you read images only once and you write them only at the very end, even if your pipeline
13:43
has five or ten applications. So to do that in Python, you just say, okay, execute the applications. And at that time, our photoblocks does nothing. In fact, almost nothing because it connects the pipelines and it tells the different applications, okay, you
14:02
will have to take the data from this application and after your next applications will be fed by this result. And at the very end, your last applications, you will call execute and write output and it will write down on the disk the final image, okay? So this
14:21
is an in-memory connection. Another thing is an MPI compatibility. So you can also use some images that you have read in an MPI. Okay. So to summarize, there's three good reasons to use our photoblocks in a Python environment. That Python is a very
14:43
popular language, very accessible. We have this compatibility with MPI. We have this in-memory connection. And as you may notice, we have put four good reasons because it's like the three musketeers. In fact, indeed, there are four. Okay. So we think that we
15:01
have to put some effort on the development of this interface and to better integrate with other libraries, other environments. They offer two bugs, okay? Maybe with X-ray or with this kind of library. So about the integration of other libraries, some of you
15:26
recognize, I've been on Monday in our workshop and our OTBI workshop that last half a day. It was a short workshop because we have also a big training session of two or three days. But the short workshops is now a kind of proof of concepts, sorry, of Jupyter
15:44
notebook plus different libraries like Raster.io, like EPI Leaflet to make a smaller processing chain with our photobooks. And it's quite fun and you can check it on our GitLab. We also have some ideas of running our photobooks in the cloud, maybe one day. We don't
16:04
know yet. David here has worked hard to make possible to install our photobooks from Conda, like Conda installed OTBI and indeed it worked during the workshop. I think that
16:23
we will soon also try to work on compatibility with libraries like Dask, like Spark because it's interesting to go on big data frameworks. About OS compatibility, actually it's now compatible with a three operating system, Linux, Windows, also Mac OS. But Mac OS,
16:44
we have sometimes some difficulties to test and so we ask if we, it's not possible to make a Docker image, an official Docker image, but maybe Docker is not so trendy now. So, if you have any suggestion, we are glad to hear your ideas. And last thing, what's
17:06
new in OTBI, it will arrive about, I think, in October. And so, for the visible part for the user, there will be some improvements in the graphical interface, a lot of new thematic applications, but one of them will be applications for our perspective features.
17:28
A better integration within QGIS, like we said. And a simplified documentation because the main entry point will be the cookbook. Before, we had a lot of different documents and now we have the cookbook which gives you recipes and how to handle OTBI, how to
17:44
make it work with a lot, in a lot of situations, okay? And the less visible part of the iceberg, a tons of big fixes. We have simplified test, simplified some completion process. So, for developer, it will be easier and we also have a very nice
18:01
continuous integration within our GitLab instance. So, it's very nice because if you are a contributor, you can submit your main request and it will be compiled on time and you have a feedback on if it works, if the test pass, et cetera. And last but not least, we have a very nice user forum with discourse and it's very efficient. It's a nice way to ask your
18:25
question and to get feedback from the community. Okay. So, thank you again for your feedback. Stay connected. We have here the main entry points to enter the world of toolbox, our website, our GitLab and the forum. Thank you very much for your attention. And if you have any question, of course.
18:55
Yeah, I'm apologizing if I'm missing it and it already exists but I think it's not.
19:01
Like, the driver for the data, reading and writing is GDAL and I really brutally miss PostGIS and virtual rasters. So, am I missing it or is it not still yet integrated? Because when we are talking about larger data, we don't want to have one million of TIFs and we don't want to have outputs of shape files. So, I want to have an input
19:22
virtual raster, an output in PostGIS, then I continue with validating the geometry, doing radiometrical indices with RFE or stuff like that. So, yeah, this is mainly, I think that it's not still existing and it should be done. Yeah.
19:40
Okay. For the first question, I will always use my Drucker but I think it does not exist yet. We are going to support GDAL 3 in next version and maybe it could be a good idea to support this virtual raster but here, another friend that can answer. Actually, I've used VRT support in OTB in version 5.0 which is like ages old.
20:06
So, it's there, it works but in my experience, it was kind of slow. So, that's... Maybe that's a good topic for the forum.
20:27
Thank you. You have other questions? So, maybe this is also answered by the GDAL answer. So,
20:41
how do you interact with cloud data? So, like Amazon S3 or is this possible or is this... We don't know, we don't interact yet with this kind of data. We only open local files for the moment but maybe in future works, we would like to interact with such data.
21:05
I don't want to use an idea. He's also a contributor from OTB. So, Amazon S3 should be supported via GDAL but I think it doesn't really work too well right now but we use a few driver to mount S3 like file systems to
21:25
as local drives and that's usually a pretty good solution. Okay, maybe one last question. Just a short question. Do you plan to expand
21:41
SAR and processing module a bit because now it's kind of like limited I think just to calibration or something and so that's a question. I don't know if we are going to extend it now but a lot of users using SAR data and some of them are building some remote modules with SAR for example to filter
22:03
speckle with a high longer time series. So, we can use SAR data to make a lot of things like classification and so on but not now in our photo box even if there are some SAR data processing in our photo box. Yeah, I think you have to have a look at
22:31
a remote module called JAPO-TB which is a remote module to make interferometry to make some filtering on SAR data. So, definitely you should have a look at that. It's developed now
22:46
and I think it will be a yeah okay yeah yeah there is also the S1 tiling remote module which allows you to map S1 data on Sentinel-2 tiles to make auto rectification and so on and
23:08
to make some treatments and filtering. So, it's definitely a good idea also to use the S1 tiling if you want to use Sentinel-1 data along with Sentinel optical data from Sentinel-2.
23:21
I guess we have to stop now. Thank you very much and see you later.