Arnaud is right, BandMathX is a new feature coming with version 4.4.0.

This is only a source release, there won't be binary packages. So you will 
have to build OTB yourself.

Christophe.

(PS: in my previous message, please replace "viewing angle" by "solar 
angle" ^^).

Le jeudi 30 avril 2015 09:03:01 UTC+2, Arnaud Durand a écrit :
>
> Ginny,
>
> BandMathX is available since the version 4.4.0.
> I suppose you are on 4.2.1.
>
> You have to build OTB from sources if you want to use BandMathX, because I 
> believe windows binaries of v4.4.0 are not available yet.
>
> Arnaud
>
> On Wednesday, April 29, 2015 at 8:49:41 PM UTC+2, GiNN wrote:
>>
>> Thank you for that explanation Christophe,
>>
>> Lastly, how do I go about launching the BandMathX application?
>> I have otb and monteverdi installed via the Osgeo4w 64 bit installer. I 
>> only see the BandMath application. Has BandMathX been rolled out to Osgeo4W 
>> yet? 
>>
>> Cheers,
>>
>> Ginny
>> On Apr 29, 2015 5:13 AM, "Christophe Palmann" <[email protected]> 
>> wrote:
>>
>>>
>>> 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]> 
>>>> 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]
>>>>> 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]
>>> 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]
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.

Reply via email to