<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Sean Gillies (Posts about masks)</title><link>https://sgillies.net/</link><description></description><atom:link href="https://sgillies.net/tags/masks.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><lastBuildDate>Sun, 31 Dec 2023 01:26:20 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Rasterio windows and masks</title><link>https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html</link><dc:creator>Sean Gillies</dc:creator><description>&lt;p&gt;Rasterio 0.4 is up on PyPI: &lt;a class="reference external" href="https://pypi.python.org/pypi/rasterio/0.4"&gt;https://pypi.python.org/pypi/rasterio/0.4&lt;/a&gt;. The new
features since the last time I blogged about rasterio are &lt;a class="reference external" href="https://github.com/sgillies/rasterio/blob/master/docs/windowed-rw.rst"&gt;windowed&lt;/a&gt; and
&lt;a class="reference external" href="https://github.com/sgillies/rasterio/blob/master/docs/nodata-masks.rst"&gt;masked&lt;/a&gt;
reads and writes. Here's an example that combines both features and demonstrates
a good pattern for reading raster data.&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code python"&gt;&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-1" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-1" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-1"&gt;&lt;/a&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;numpy&lt;/span&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-2" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-2" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-2"&gt;&lt;/a&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;rasterio&lt;/span&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-3" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-3" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-3"&gt;&lt;/a&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-4" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-4" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-4"&gt;&lt;/a&gt;&lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="n"&gt;rasterio&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'rasterio/tests/data/RGB.byte.tif'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;src&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-5" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-5" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-5"&gt;&lt;/a&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-6" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-6" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-6"&gt;&lt;/a&gt;    &lt;span class="c1"&gt;# The following asserts that all bands have the same block/stripe structure.&lt;/span&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-7" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-7" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-7"&gt;&lt;/a&gt;    &lt;span class="k"&gt;assert&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;src&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;block_shapes&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-8" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-8" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-8"&gt;&lt;/a&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-9" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-9" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-9"&gt;&lt;/a&gt;    &lt;span class="c1"&gt;# As they do, we can iterate over the first band's block windows&lt;/span&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-10" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-10" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-10"&gt;&lt;/a&gt;    &lt;span class="c1"&gt;# and apply to all other bands.&lt;/span&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-11" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-11" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-11"&gt;&lt;/a&gt;    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;ji&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;window&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;src&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;block_windows&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-12" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-12" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-12"&gt;&lt;/a&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-13" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-13" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-13"&gt;&lt;/a&gt;        &lt;span class="c1"&gt;# Get data in this window for each band as a Numpy masked array.&lt;/span&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-14" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-14" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-14"&gt;&lt;/a&gt;        &lt;span class="n"&gt;bands&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-15" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-15" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-15"&gt;&lt;/a&gt;            &lt;span class="n"&gt;numpy&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ma&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;masked_equal&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-16" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-16" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-16"&gt;&lt;/a&gt;                &lt;span class="n"&gt;src&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;read_band&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;src&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;indexes&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]),&lt;/span&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-17" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-17" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-17"&gt;&lt;/a&gt;                &lt;span class="n"&gt;src&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;nodatavals&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-18" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-18" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-18"&gt;&lt;/a&gt;            &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;src&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;count&lt;/span&gt;&lt;span class="p"&gt;)]&lt;/span&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-19" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-19" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-19"&gt;&lt;/a&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-20" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-20" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-20"&gt;&lt;/a&gt;        &lt;span class="c1"&gt;# Break out after the first block in this example.&lt;/span&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-21" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-21" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-21"&gt;&lt;/a&gt;        &lt;span class="k"&gt;break&lt;/span&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-22" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-22" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-22"&gt;&lt;/a&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-23" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-23" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-23"&gt;&lt;/a&gt;&lt;span class="c1"&gt;# Let's look at the first, blue band.&lt;/span&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-24" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-24" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-24"&gt;&lt;/a&gt;&lt;span class="n"&gt;b&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;bands&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-25" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-25" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-25"&gt;&lt;/a&gt;&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-26" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-26" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-26"&gt;&lt;/a&gt;&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;mask&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-27" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-27" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-27"&gt;&lt;/a&gt;&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;fill_value&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;a id="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-28" name="rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-28" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_0d05dcbbfbb64cdcb6d8e317ccd19b56-28"&gt;&lt;/a&gt;&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;min&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;max&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;mean&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The output:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code console"&gt;&lt;a id="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-1" name="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-1" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-1"&gt;&lt;/a&gt;&lt;span class="go"&gt;[[-- -- -- ..., -- -- --]&lt;/span&gt;
&lt;a id="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-2" name="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-2" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-2"&gt;&lt;/a&gt;&lt;span class="go"&gt; [-- -- -- ..., -- -- --]&lt;/span&gt;
&lt;a id="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-3" name="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-3" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-3"&gt;&lt;/a&gt;&lt;span class="go"&gt; [-- -- -- ..., -- -- --]&lt;/span&gt;
&lt;a id="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-4" name="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-4" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-4"&gt;&lt;/a&gt;&lt;span class="go"&gt; ...,&lt;/span&gt;
&lt;a id="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-5" name="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-5" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-5"&gt;&lt;/a&gt;&lt;span class="go"&gt; [-- -- -- ..., -- -- --]&lt;/span&gt;
&lt;a id="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-6" name="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-6" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-6"&gt;&lt;/a&gt;&lt;span class="go"&gt; [-- -- -- ..., -- -- --]&lt;/span&gt;
&lt;a id="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-7" name="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-7" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-7"&gt;&lt;/a&gt;&lt;span class="go"&gt; [-- -- -- ..., -- -- --]]&lt;/span&gt;
&lt;a id="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-8" name="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-8" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-8"&gt;&lt;/a&gt;&lt;span class="go"&gt;[[ True  True  True ...,  True  True  True]&lt;/span&gt;
&lt;a id="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-9" name="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-9" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-9"&gt;&lt;/a&gt;&lt;span class="go"&gt; [ True  True  True ...,  True  True  True]&lt;/span&gt;
&lt;a id="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-10" name="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-10" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-10"&gt;&lt;/a&gt;&lt;span class="go"&gt; [ True  True  True ...,  True  True  True]&lt;/span&gt;
&lt;a id="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-11" name="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-11" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-11"&gt;&lt;/a&gt;&lt;span class="go"&gt; ...,&lt;/span&gt;
&lt;a id="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-12" name="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-12" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-12"&gt;&lt;/a&gt;&lt;span class="go"&gt; [ True  True  True ...,  True  True  True]&lt;/span&gt;
&lt;a id="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-13" name="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-13" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-13"&gt;&lt;/a&gt;&lt;span class="go"&gt; [ True  True  True ...,  True  True  True]&lt;/span&gt;
&lt;a id="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-14" name="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-14" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-14"&gt;&lt;/a&gt;&lt;span class="go"&gt; [ True  True  True ...,  True  True  True]]&lt;/span&gt;
&lt;a id="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-15" name="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-15" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-15"&gt;&lt;/a&gt;&lt;span class="go"&gt;0&lt;/span&gt;
&lt;a id="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-16" name="rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-16" href="https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html#rest_code_34149ca7b1de40cc969aa9e79e9a3ae7-16"&gt;&lt;/a&gt;&lt;span class="gp gp-VirtualEnv"&gt;(1, 255, 44.434478650699106)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;You can see that all four corners of the test image are masked.&lt;/p&gt;</description><category>cython</category><category>gdal</category><category>masks</category><category>numpy</category><category>pixels</category><category>python</category><category>rasterio</category><category>work</category><guid>https://sgillies.net/2013/12/21/rasterio-windows-and-masks.html</guid><pubDate>Sat, 21 Dec 2013 07:00:00 GMT</pubDate></item></channel></rss>