index.html 5.58 KiB
<!doctype html>
<html>
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
		<meta name="apple-mobile-web-app-capable" content="yes">
		<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
		<title>pyotb: A pythonic extension of Orfeo Toolbox</title>
		<link rel="stylesheet" href="./revealjs/dist/reset.css">
		<link rel="stylesheet" href="./revealjs/dist/reveal.css">
		<link rel="stylesheet" href="./revealjs/dist/theme/white.css">
		<link rel="stylesheet" href="otb.css" id="theme">
		<!-- I/ NOT USED ANYMORE -->
		<!-- Theme used for syntax highlighted code 
		<link rel="stylesheet" href="a11y-light.css"> -->
		<!-- Theme used for drawer code
		<link rel="stylesheet" href="./revealdrawer/dist/drawer.css" />  -->
	</head>
	<body>
	<div class="reveal">
	<div class="slides">
	<!-- I/ PREMIERE PAGE -->
	<section data-background-image='illustrations/background.png'> 
		<h1>pyotb: A pythonic extension of Orfeo Toolbox</h1>
		</br>
		<p>Nicolas Narçon<sup>1</sup>, Rémi Cresson<sup>1</sup>, Vincent Delbar<sup>2</sup></p>
		<p>(1) INRAE, (2) La TeleScop</p>
		<br>
		<p> Firenze, FOSS4G - 25 Aug. 2022</p>
	</section>
	<section data-background-image='illustrations/background.png'> 
		<h3>Basic satellite image processing in Python</h3>
		<h4>Example: Pansharpening</h4>
		<figure>
			<img src="illustrations/pansharpening_schema.png" width=60%/>
		</figure>
	</section>
	<!-- II/ PANSHARPENING WITH PYOTB -->
	<section>
		<section data-background-image='illustrations/background.png'> 
			<h2>What a developer goes trough</h2>
			<video data-autoplay width=70% src="illustrations/pansharpening_google_search_final_speedup.mp4"></video>
		</section>
		<section data-background-image='illustrations/background.png'> 
			<h3>Issues</h3>
			</br>
			<img style='vertical-align:middle' src="illustrations/cons.png" width=5%/>
			<span>Con n°1:</span>
			</br></br>
			<ul>
				<li>Not many well-eshtablished Python Open Source remote sensing solutions -> trust?</li>
				<li>Need to implement/adapt some algorithms -> loss of time</li>
			</ul>	
			</br></br>
			<br>
		</section>
		<section data-background-image='illustrations/background.png'> 
			<h2>Pansharpening in Python</h2>
			<video data-autoplay width=70% src="illustrations/pansharpening_memory_error_rasterio_speedup.mp4"></video>
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
</section> <section> <figure> <img src="illustrations/memory_error.png" width=80%/> </figure> <figure> <img src="illustrations/michael_meme.png" width=50%/> </figure> </section> <section data-background-image='illustrations/background.png'> <h3>Issues</h3> </br> <figure> <img src="illustrations/cons.png" width=5%/> <figcaption>Con n°2:</figcaption> </figure> <ul> <li>Satellite image processing do not fit in RAM</li> </ul> <span>Solution: by hand tiling ?</span> <pre><code data-trim class="python"> for i in range(0, size, chunk_size): # Reading image with rasterio.open('image.tif'): ... </code></pre> <br> </section> <section data-markdown> <textarea data-template> ### Whatever | Test | Test | Description | | ---- | ---------- | ----------- | | 1 | 0 | ssss | </textarea> </section> </section> <!-- III/ PANSHARPENING WITH PYOTB --> <section> <section data-background-image='illustrations/background.png'> <h2>pyotb: remote sensing made easy</h2> <video data-autoplay width=70% src="illustrations/pansharpening_pyotb_laptop_speedup.mp4"></video> </section> </section> <!-- IV/ PERFORMANCE: ON A BIG SERVER IS IT SLOWER THAN FULL PYTHON ? --> <section> <section data-background-image='illustrations/background.png'> <h2>Performance comparison</h2> </section> </section> <!-- V/ USECASE: EXAMPLE FROM THE DOC AVEC EXPORT RASTERIO -->
141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
<section> <section data-background-image='illustrations/background.png'> <h2>pyotb: An usecase</h2> </section> </section> <section> <h1>Thank you</h1> <h3>Any questions?</h3> </section> </div> </div> <script src="./revealjs/dist/reveal.js"></script> <script src="./revealjs/plugin/notes/notes.js"></script> <script src="./revealjs/plugin/markdown/markdown.js"></script> <script src="./revealjs/plugin/highlight/highlight.js"></script> <script> // More info about initialization & config: // - https://revealjs.com/initialization/ // - https://revealjs.com/config/ Reveal.initialize({ hash: true, controlsLayout: 'edges', // Visibility rule for backwards navigation arrows; "faded", "hidden" // or "visible" controlsBackArrows: 'visible', slideNumber: true, // Learn about plugins: https://revealjs.com/plugins/ plugins: [ RevealMarkdown, RevealHighlight, RevealNotes ], // The "normal" size of the presentation, aspect ratio will // be preserved when the presentation is scaled to fit different // resolutions. Can be specified using percentage units. width: 1920, height: 1080, // Factor of the display size that should remain empty around // the content margin: 0.01, // Bounds for smallest/largest possible scale to apply to content minScale: 0.2, maxScale: 2.0, drawer: { colors: ["#fa1e0e", "#8ac926", "#1982c4", "#ffca3a"], // (optional) list of colors avaiable (hex color codes) color: "#FF0000", // (optional) color of a cursor, first color from `codes` is a default pathSize: 2, // (optional) path size in px, default 4 } }); </script> </body> </html>