Basically, the purpose of radiometric correction (or optical calibration) is to "get rid of" some parameters (like viewing angle, earth-sun distance, and so on) that obviously affect the values of the pixels, but that must not be taken into account for a change detection task for instance, or supervised classification... and so on. Depending on the kind of product to be used, radiometric correction is already performed or not; but it is up to the user to check this.
If the answer is no, then the user have to apply this calibration, after having found every required parameters from the images metadata. Christophe. Le mardi 28 avril 2015 21:37:54 UTC+2, GiNN a écrit : > > Thank you Christophe, > > With your and Arnaud's explanation I grasp how pixels are handled now. I > will run a test an give you feedback. > > About my expression: > The images are WorldView2 and collected over a large period (almost two > years). I believe they are already calibrated. I found this equation in a > paper by digital globe to correct the solar geometry at the collection time > (d = earth-sun distance and e = sun elevation angle), so the images will > have more or less the same colors. So basically, a radiometric enhancement. > > Is this the same as an optical calibration? I took a look at the cookbook > and the formula for TOA radiance to reflectance does look similar. > I am new to satellite imagery and I just need the end product to be > appealing to the eye. (I.e. similar colors) > On Apr 28, 2015 10:46 AM, "Christophe Palmann" <[email protected] > <javascript:>> wrote: > >> Hi Gin and Arnaud, >> >> Sorry for the late reply. >> >> As Arnaud said in his previous message, images are handled with >> n-dimensional row vectors. >> >> So you can use the 'mlt' or 'dv' operators to perform multiplications >> (divisions) between vectors and scalars; the correct expression is simply: >> >> 1) *im1 mlt d2 dv cose* or * im1 mlt (d2/cose)* >> Here, im1 is similar to {pix_from_band1, pix_from_band2, pix_from_band3}. >> I think that the second expression is faster. >> >> 2) the expression *im1 mlt {d2} dv {cose}* is also correct, as I >> designed those operators to process 1d vectors as scalars (both for >> convenience and to make the operators more robust) >> >> 3) finally, a solution close to the one of Arnaud is *im1 mult >> {d2,d2,d2} div {cose,cose,cose}* >> Here, the operators mult and div perform element-wise multiplications >> (divisions) between vectors. But *im1 * {d2,d2,d2} / {cose,cose,cose}* >> is not correct ! (the multiplication or the division of two row vectors >> aren't defined, you must use mlt/dv or mult/div operators). >> >> Don't forget to define the constants 'd2' and 'cose' with the method >> SetConstant if you use the filter, or just provide a txt file to the field >> 'import context' if you use the application. You can also define 'my_e', >> and use cos(my_e) within the above expressions (*but don't define 'e', >> because this constant already exists in muparserx!*), nevertheless it is >> better to evaluate cose once and for all. >> >> Finally, looking at your expression, you really should consider the >> OpticalCalibration application, which will do the job faster than BandMathX >> :-) >> >> Christophe. >> >> >> >> >> Le jeudi 23 avril 2015 14:47:15 UTC+2, Arnaud Durand a écrit : >>> >>> Gin, >>> >>> Each pixel of your image is handled as a n-dimensional row vector, with >>> n the number of bands in your image. {n1, n2, n3, ...} is the syntax of >>> muParserX to declare row vectors that you can fill with scalars assigned by >>> band. >>> >>> Hope it helps. >>> Arnaud >>> >>> Le jeudi 23 avril 2015 14:10:28 UTC+2, GiNN a écrit : >>>> >>>> Thank Arnaud, >>>> >>>> And yes, d and e are scalars. In fact, they are constant for the entire >>>> image, while the image has three bands. >>>> >>>> If I understand you correctly, this still counts as a vector >>>> transformation? >>>> On Apr 23, 2015 7:50 AM, "Arnaud Durand" <[email protected]> >>>> wrote: >>>> >>>>> Hi GiNN, >>>>> >>>>> I'm not sure that it is possible with such a simple expression, as the >>>>> doc said : >>>>> >>>>> >>>>> >>>>> *For instance, it is not possible to add vectors of different >>>>> dimensions (this implies the addition of a row vector with a column >>>>> vector),or add a scalar to a vector or a matrix, or divide two vectors, >>>>> and >>>>> so on...Thus, it is important to remember that a pixel of n components is >>>>> always represented as a row vector.* >>>>> >>>>> However, if you know the number of bands in your image, and if d and e >>>>> are scalars, you might try to use vector syntax in your expression like >>>>> that : im1*{d^2,d^2,d^2,d^2}/{cos e, cos e, cos e, cos e} >>>>> >>>>> Arnaud >>>>> >>>>> Le mercredi 22 avril 2015 21:02:15 UTC+2, GiNN a écrit : >>>>>> >>>>>> >>>>>> I have three-band images and I want to apply the same expression to >>>>>> each band and get a three-bad output. >>>>>> I am just starting with OTB and Monteverdi. Used installer on a 64 >>>>>> bit W7 machine. >>>>>> >>>>>> The expression is very simple: output_pixel = (input_pixel*d^2)/cos e >>>>>> >>>>>> I read the cookbook recipe, and concluded BandmahX is what I need. >>>>>> But I am not sure how to formulate the expression so that the >>>>>> application >>>>>> goes through all pixels in all three bands. >>>>>> >>>>>> Any assistance is greatly appreciated. >>>>>> >>>>>> Gin >>>>>> >>>>> -- >>>>> -- >>>>> Check the OTB FAQ at >>>>> http://www.orfeo-toolbox.org/FAQ.html >>>>> >>>>> You received this message because you are subscribed to the Google >>>>> Groups "otb-users" group. >>>>> To post to this group, send email to [email protected] >>>>> To unsubscribe from this group, send email to >>>>> [email protected] >>>>> For more options, visit this group at >>>>> http://groups.google.com/group/otb-users?hl=en >>>>> --- >>>>> You received this message because you are subscribed to a topic in the >>>>> Google Groups "otb-users" group. >>>>> To unsubscribe from this topic, visit >>>>> https://groups.google.com/d/topic/otb-users/UHugkLOJEmw/unsubscribe. >>>>> To unsubscribe from this group and all its topics, send an email to >>>>> [email protected]. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> -- >> -- >> Check the OTB FAQ at >> http://www.orfeo-toolbox.org/FAQ.html >> >> You received this message because you are subscribed to the Google >> Groups "otb-users" group. >> To post to this group, send email to [email protected] >> <javascript:> >> To unsubscribe from this group, send email to >> [email protected] <javascript:> >> For more options, visit this group at >> http://groups.google.com/group/otb-users?hl=en >> --- >> You received this message because you are subscribed to a topic in the >> Google Groups "otb-users" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/otb-users/UHugkLOJEmw/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > -- -- Check the OTB FAQ at http://www.orfeo-toolbox.org/FAQ.html You received this message because you are subscribed to the Google Groups "otb-users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/otb-users?hl=en --- You received this message because you are subscribed to the Google Groups "otb-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
