<div dir="ltr"><div><div>Thanks Markus, <br><br></div>Will try it soon. <br><br></div>Sajid<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 28, 2016 at 9:03 AM, Markus Metz <span dir="ltr"><<a href="mailto:markus.metz.giswork@gmail.com" target="_blank">markus.metz.giswork@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>There is a new addon r.seasons which determines the number of seasons per pixel and extracts start and end dates for the given number of seasons from a time series.<br><br></div>The module is designed for noisy input, e.g.<br><br></div>time|value<br>0|0<br>1|0<br>2|1<br>3|0<br>4|1<br>5|1<br>6|1<br>7|0<br>8|1<br>9|1<br>10|1<br>11|1<br>12|0<br>13|0<br><br></div>with threshold 0.5 and minimum season length set to 3 would detect one season. Core season start is at 4, end at 10. Full season start is at 2, end at 10.<br><div><br>Markus M<br><br></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Nov 9, 2016 at 4:17 PM, Nikos Alexandris <span dir="ltr"><<a href="mailto:nik@nikosalexandris.net" target="_blank">nik@nikosalexandris.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Nikos Alexandris:<span><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Is the number of cycles per year in the Wiki as well?  Going through,<br>
last time, I think I didn't grasp that.  Can you pin-point?  It's<br>
exactly what we need at the moment.<br>
</blockquote></blockquote></blockquote>
<br>
Veronica Andreo:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Yes, maybe it is not well explained, but it is here:<br>
<a href="https://grasswiki.osgeo.org/wiki/Temporal_data_processing#Filling_and_reconstructing_time_series_data_with_gaps_-_HANTS" rel="noreferrer" target="_blank">https://grasswiki.osgeo.org/wi<wbr>ki/Temporal_data_processing#Fi<wbr>lling_and_reconstructing_time_<wbr>series_data_with_gaps_-_HANTS</a><br>
</blockquote></blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
and also in the manual under "NOTES"<br>
<a href="https://grass.osgeo.org/grass70/manuals/addons/r.hants.html" rel="noreferrer" target="_blank">https://grass.osgeo.org/grass7<wbr>0/manuals/addons/r.hants.html</a><br>
</blockquote></blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The idea is, once you are happy with the result of hants, you ask for<br>
amplitude outputs and with those amplitude maps (you'll have one map per<br>
frequency) you run r.series method=max_raster. This will give you the most<br>
important frequency (according to amplitude value of that frequency) in<br>
each pixel. If the result is that the most important frequency is 0, then<br>
you have one cycle per year (that, if you use a base period of one year of<br>
course).<br>
</blockquote></blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hope it is clearer now :)<br>
</blockquote></blockquote>
<br></span>
Nikos:<span><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Yes. It was even before -- just me read through quickly.<br>
<br>
r.hants is awesome!<br>
<br>
We have 24 Landsat 8 derived EVI2 maps (2 for each month) for one year.<br>
Clouds and Water surfaces removed. Another set of "relatively normalised<br>
images, using `i.histo.match` is also ready.  We really need to "fix"<br>
`i.histo.match` to crunch floats directly.  The resulting ranges worry<br>
me a bit -- I just followed the "old" way as discussed some years ago in<br>
a relevant thread (floats > integers > histo-matching > floats).<br>
<br>
Anyhow, I am testing the following:<br>
<br>
for NF in 4 5 6 7 8 ;do r.hants file=evi2_maps nf=$NF fet=0.05 dod=3 base_period=24 suffix=_hants_nf_$NF amplitude=amplitude_hants_nf_$<wbr>NF phase=phase_hants_nf_$NF ;done<br>
<br>
(thinking loudly... it would be super-nice to have `t.rast.hants`)<br>
<br>
Not sure about `dod`. Perhaps it should also follow a patten like 3 4 5<br>
6 and 7 for the above?<br>
<br>
for NF in 5 6 7 8 ; do t.rast.series evi2_hants_nf_$NF method=max_raster output=dominant_frequencies_ha<wbr>nts_nf_$NF --o<br>
</blockquote>
<br></span>
Just in case, the above *should* read:<br>
<br>
for NF in 4 5 6 7 8 ;do r.series input=`g.list rast pattern=amplitude*nf_${NF}* separator=comma` method=max_raster output=dominant_frequencies_ha<wbr>nts_nf_${NF} --o ;done<span><br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
"Dominant" frequencies 0, 1, 2 and 3 appear to be within the areas<br>
of our interest (agricultural surfaces).  Very good.  And convincing.<br>
Yet I am learning to interpret this correctly. And the "phase" as well.<br>
Reminds math studies, years ago.<br>
</blockquote>
<br></span>
It is a "good" thing to actually have similar dominant frequency "maps"<br>
for all of the experimented Number of Frequencies.<br>
<br>
A confirmation would be reassuring.<br>
<br>
Thanks, Nikos<br>
<br>
[rest deleted]<div class="m_-6426475609610534770HOEnZb"><div class="m_-6426475609610534770h5"><br>
______________________________<wbr>_________________<br>
grass-user mailing list<br>
<a href="mailto:grass-user@lists.osgeo.org" target="_blank">grass-user@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/grass-user" rel="noreferrer" target="_blank">http://lists.osgeo.org/mailman<wbr>/listinfo/grass-user</a></div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>