<style>blockquote {padding-left: 1ex; margin: 0px 0px 0px 0.8ex; border-left: #cccccc 1px solid;} p {margin: 0px;padding: 0px;} </style>
<p>Hello!</p>
<p>You both are my heros! Thank you Moritz and Nikos!</p>
<p>r.recode worked :D I did i.histo.match on two test images and it looks fine. So now the rest of bands, and then band composite and supervised classification (I've found nice tutorial on youtube, so I'm gonna follow it, or I will try semi-automatic classification plugin for qgis).</p>
<p> </p>
<p>Nikos, you've wrote <em>"Each band is one single image. No matter its bitness, it is "normal" to appear "mono-chromatic" -- its "normal" to apply a grey scale."</em> I know that grey scale is normal, but I didn't have, let's say "50 shades of grey" ;) but only one shade, one color-no scale of colors. Forunately, Moritz was right, thanks a lot! Now it looks normal.</p>
<p>And you wrote also that "<em>the correct way is to not use the Digital Numbers directly. Rather, convert to reflectance, then do whatever you have to.</em>" So application of i.landsat.toar is correct, right?</p>
<p>Sorry for all stupid/basic questions but this is my first serious time with grass and landsat image processing.</p>
<p>Greetings</p>
<p>Joanna</p>
<p> </p>
<p>Dnia 4-05-2015 o godz. 21:14 Nikos Alexandris napisał(a):</p>
<p>> joanna mardas wrote:</p>
<p>> > > Hello,</p>
<p>></p>
<p>> Hi Joanna,</p>
<p>></p>
<p>> > > I'm totally new user of GRASS and of course I have some problems. I want</p>
<p>> > > to do the pre-processing of Landsat (5TM) images (for further band</p>
<p>> > > composite, classification and NDVI) and I was using the tips from</p>
<p>> > > http://grasswiki.osgeo.org/wiki/LANDSAT#Pre-Processing I did the</p>
<p>> > > *i.landsat.toar* I wanted to do the i.atcorr as well but I have no idea</p>
<p>> > > how to do this, the manual was not helpful for me, so I gave up. I did</p>
<p>> > > not do i.topo.corr because the land I'm working on is flat.</p>
<p>></p>
<p>> I need some time to fix a python script which does that automatically</p>
<p>> (see: <https://github.com/NikosAlexandris/i.landsat.atcorr>, currently</p>
<p>> broken :-().</p>
<p>></p>
<p>></p>
<p>> > > And I really want to do "/radiometrically normalise â†’ one approach</p>
<p>> > > via*i.histo.match* (in grass 7), also known as relative radiometric</p>
<p>> > > normalisation -- one approach is the histogram matching technique of two</p>
<p>> > > or more raster maps/".</p>
<p>></p>
<p>> Another, simple approach, is described in:</p>
<p>></p>
<p>> "Radiometric Use of QuickBird Imagery, Technical Note." 2005-11-07, by</p>
<p>> Keith Krause.</p>
<p>></p>
<p>> It is in section 6 in the above mentioned document. I have a</p>
<p>> half-written script for this... :-(</p>
<p>></p>
<p>></p>
<p>> > > I have fragments of original landsat images</p>
<p>> > > imported to GRASS and i.histo.match works with them without any</p>
<p>> > > problems.</p>
<p>></p>
<p>> That is so because i.histo.match, as Moritz notes below, support for</p>
<p>> 8-bit raster data.</p>
<p>></p>
<p>></p>
<p>> > > But there is a problem when I want to do this on images which</p>
<p>> > > I got after i.landsat.toar. The output images are monochromatic-one</p>
<p>> > > colour.</p>
<p>></p>
<p>> Each band is one single image. No matter its bitness, it is "normal" to</p>
<p>> appear "mono-chromatic" -- its "normal" to apply a grey scale.</p>
<p>></p>
<p>></p>
<p>> > > I've used command i.histo.match</p>
<p>> > > input=_toar2@konfa,86_toar2@konfa (the input files are those which I got</p>
<p>> > > after i.landsat.toar) and then r.colors map=86_toar2.match@konfa</p>
<p>> > > color=grey. I thought that those steps from grasswiki should be done</p>
<p>> > > "step by step", so first i.landsat.toar, and then on the output files</p>
<p>> > > i.histo.match.</p>
<p>> > ></p>
<p>> > > Does anyone know how to do this in a proper/correct way?</p>
<p>></p>
<p>> I wrote this steps some time ago. And I still insist that the correct</p>
<p>> way is to not use the Digital Numbers directly. Rather, convert to</p>
<p>> reflectance, then do whatever you have to.</p>
<p>></p>
<p>></p>
<p>> Moritz Lennert:</p>
<p>></p>
<p>> > ISTR that i.histo.match works with integer imagerie, i.e. recoded to</p>
<p>> > 0-255. Recode your toar images to that range with r.recode and try to</p>
<p>> > run the result through i.histo.match to see if that helps.</p>
<p>></p>
<p>></p>
<p>> What I have done in the past,</p>
<p>></p>
<p>> # if Reflectance > 1, set to 1000, else round and multiply by 1000</p>
<p>> r.mapcalc --o "TopoCorr_B_Trimmed_DOS1_ToCR_${Band_No}_${SCENE} = if(</p>
<p>> TopoCorr.B.Trimmed.DOS1.ToCR.${Band_No}@${SCENE} > 1, 1000, round( 1000</p>
<p>> * TopoCorr.B.Trimmed.DOS1.ToCR.${Band_No}@${SCENE} ) )"</p>
<p>></p>
<p>> # histogram matching</p>
<p>> ...</p>
<p>></p>
<p>> # convert histo-matched images back to floating point: rescale to 0-1.0</p>
<p>> r.mapcalc --o "${HistoMatchedMap} = ${HistoMatchedMap} / 1000.0"</p>
<p>></p>
<p>> This came out after Markus Metz' advice, if I recall correctly. I would</p>
<p>> add another advice (this one was from Yann Chemin): filter out water. I</p>
<p>> think too, now, that i.histo.match will perform better.</p>
<p>></p>
<p>> Nikos</p>
<p> </p><br />