How would I could the number "0" components? Regards Oliver
Am Donnerstag, 7. Juni 2018 11:57:34 UTC+2 schrieb Rémi: > > ...or maybe "sizeof(im1')-0.5*(vabs(im1)-im1)*ones(sizeof(im1'),1)" > > Le jeudi 7 juin 2018 11:56:19 UTC+2, remicres a écrit : >> >> My bad, I thought that you wanted the sum of positive components. >> To count only the number of positive component you can use something like >> this "54-0.5*(vabs(im1)-im1)*ones(sizeof(im1'),1)" >> >> Le jeudi 7 juin 2018 11:37:55 UTC+2, O Buck a écrit : >>> >>> Dear remicres, >>> >>> I have just tested your expression on a 54 channel image. However the >>> result.tif is not giving me pixels values between (0-54) but values up to >>> 174600. >>> >>> Any ideas? >>> >>> Oliver >>> >>> >>> Am Dienstag, 5. Juni 2018 17:25:13 UTC+2 schrieb remicres: >>>> >>>> You can also do it with BandMathX with the expression >>>> "0.5*(im1+vabs(im1))*ones(sizeof(im1'),1)" >>>> >>>> >>>> Le lundi 4 juin 2018 13:50:29 UTC+2, O Buck a écrit : >>>>> >>>>> Got it . Needed to use " instead of ' to state the -exp to get it run. >>>>> >>>>> Thanks a lot!!! >>>>> >>>>> Am Montag, 4. Juni 2018 13:31:46 UTC+2 schrieb O Buck: >>>>>> >>>>>> Not sure what I am doing wrong. >>>>>> >>>>>> All it does is to write the error message into a file >>>>>> >>>>>> Message: Unexpected token "'(im1b1 " found at position 0. >>>>>> >>>>>> >>>>>> Am Montag, 4. Juni 2018 13:21:14 UTC+2 schrieb Poughon Victor: >>>>>>> >>>>>>> Try without sum : "(im1b1 > 0) + (im1b2 > 0) + (im1b3 > 0) + (im1b4 >>>>>>> > 0) + (im1b5 > 0)" >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> Victor Poughon >>>>>>> >>>>>>> >>>>>>> >>>>>>> *De :* 'O Buck' via otb-users [mailto:[email protected]] >>>>>>> *Envoyé :* lundi 4 juin 2018 12:20 >>>>>>> *À :* otb-users <[email protected]> >>>>>>> *Objet :* Re: [otb-users] BandmathX Sum of all bands >>>>>>> >>>>>>> >>>>>>> >>>>>>> Thanks Victor for you fast answer, >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> but I am still not sure if I set the exp right. Assume a 5 band >>>>>>> image: >>>>>>> >>>>>>> >>>>>>> >>>>>>> otbcli_BandMath -il InIMAGE.img -out OutIMAGEtest.img -exp 'sum((im1b1 >>>>>>> > 0) + (im1b2 > 0) + (im1b3 > 0) + (im1b4 > 0) + (im1b5 > 0))' >>>>>>> >>>>>>> >>>>>>> >>>>>>> is not working and would not give me the number of bands with values >0 >>>>>>> but a sum of pixel values, right? >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> Can I put the exp to 'sum((im1b1/im1b1 > 0) + (im1b2/im1b2 > 0) ..... >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> Am Montag, 4. Juni 2018 12:02:03 UTC+2 schrieb Poughon Victor: >>>>>>> >>>>>>> Since you have a lot of bands, writing the exp by hand will be a >>>>>>> very ugly… but it should work. You can make a quick python script to >>>>>>> generate the exp. >>>>>>> >>>>>>> >>>>>>> >>>>>>> > print(" + ".join(["(im1b" + str(i) + " > 0)" for i in range(1, >>>>>>> 61)])) >>>>>>> >>>>>>> >>>>>>> >>>>>>> (im1b1 > 0) + (im1b2 > 0) + (im1b3 > 0) + (im1b4 > 0) + (im1b5 > 0) + >>>>>>> (im1b6 > 0) + (im1b7 > 0) + (im1b8 > 0) + (im1b9 > 0) + (im1b10 > 0) + >>>>>>> (im1b11 > 0) + (im1b12 > 0) + (im1b13 > 0) + (im1b14 > 0) + (im1b15 > >>>>>>> 0) + (im1b16 > 0) + (im1b17 > 0) + (im1b18 > 0) + (im1b19 > 0) + >>>>>>> (im1b20 > 0) + (im1b21 > 0) + (im1b22 > 0) + (im1b23 > 0) + (im1b24 > >>>>>>> 0) + (im1b25 > 0) + (im1b26 > 0) + (im1b27 > 0) + (im1b28 > 0) + >>>>>>> (im1b29 > 0) + (im1b30 > 0) + (im1b31 > 0) + (im1b32 > 0) + (im1b33 > >>>>>>> 0) + (im1b34 > 0) + (im1b35 > 0) + (im1b36 > 0) + (im1b37 > 0) + >>>>>>> (im1b38 > 0) + (im1b39 > 0) + (im1b40 > 0) + (im1b41 > 0) + (im1b42 > >>>>>>> 0) + (im1b43 > 0) + (im1b44 > 0) + (im1b45 > 0) + (im1b46 > 0) + >>>>>>> (im1b47 > 0) + (im1b48 > 0) + (im1b49 > 0) + (im1b50 > 0) + (im1b51 > >>>>>>> 0) + (im1b52 > 0) + (im1b53 > 0) + (im1b54 > 0) + (im1b55 > 0) + >>>>>>> (im1b56 > 0) + (im1b57 > 0) + (im1b58 > 0) + (im1b59 > 0) + (im1b60 > 0) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> Victor Poughon >>>>>>> >>>>>>> >>>>>>> >>>>>>> *De :* 'O Buck' via otb-users [mailto:[email protected]] >>>>>>> *Envoyé :* lundi 4 juin 2018 11:08 >>>>>>> *À :* otb-users <[email protected]> >>>>>>> *Objet :* [otb-users] BandmathX Sum of all bands >>>>>>> >>>>>>> >>>>>>> >>>>>>> Dear all, >>>>>>> >>>>>>> >>>>>>> >>>>>>> being new to OTB, my question might be trivial, so apologies if that >>>>>>> is the case. >>>>>>> >>>>>>> >>>>>>> >>>>>>> What I would like to do with otbcli_BandMath is to calculate an >>>>>>> image that gives the sum of all bands representing values >0. >>>>>>> >>>>>>> >>>>>>> >>>>>>> I have an image with nBands (in my test case n=60, but could be more >>>>>>> or less). Each pixel has thus a maximum of 60 values (some bands have >>>>>>> no-data, represented as -1 values). >>>>>>> >>>>>>> >>>>>>> >>>>>>> What I would like to get is an output image, where each pixel value >>>>>>> gives me the amount of bands with values >0 per pixel from the inout >>>>>>> image. >>>>>>> >>>>>>> >>>>>>> >>>>>>> I don't know how to set the -exp >>>>>>> >>>>>>> >>>>>>> >>>>>>> Tried with >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> - otbcli_BandMath -il >>>>>>> >>>>>>> G:\PROJEKTE\2518_BfN_Grassland\04_Arbeitsdokumente\test_landsat_path\mask_194_24\layerstack_test_194_24_nodata_clip15.img >>>>>>> >>>>>>> -out test.img -exp 'sum(im1/im1)' >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> but received >>>>>>> >>>>>>> >>>>>>> >>>>>>> c:\dashboard\otb\src\modules\filtering\mathparser\include\otbBandMathImageFilter.txx:301: >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> itk::ERROR: BandMathImageFilter(000001F5309D1BC0): >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> itk::ExceptionObject (0000008641989700) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> Location: "unknown" >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> File: >>>>>>> C:\dashboard\otb\src\Modules\Filtering\MathParser\src\otbParser.cxx >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> Line: 170 >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> Description: itk::ERROR: ParserImpl(000001F53FE2C9C0): >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> Message: Unexpected token "'sum(im1/im1)' " found at position >>>>>>> 0. >>>>>>> >>>>>>> >>>>>>> >>>>>>> Formula: 'sum(im1/im1)' >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> oken: 'sum(im1/im1)' >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> Position: 0 >>>>>>> >>>>>>> >>>>>>> >>>>>>> So I guess my -exp is wrong. >>>>>>> >>>>>>> >>>>>>> >>>>>>> Thanks >>>>>>> >>>>>>> Oliver >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> -- >>>>>>> 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. >>>>>>> >>>>>>> -- >>>>>>> -- >>>>>>> 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. >>>>>>> >>>>>> -- -- 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.
