[GRASS-dev] [GRASS GIS] #3820: Error i.pansharpen in grass76 relbranch

#3820: Error i.pansharpen in grass76 relbranch
--------------------------+---------------------------------
Reporter: veroandreo | Owner: grass-dev@…
     Type: defect | Status: new
Priority: normal | Milestone: 7.6.2
Component: Imagery | Version: svn-releasebranch76
Keywords: i.pansharpen | CPU: Unspecified
Platform: Unspecified |
--------------------------+---------------------------------
When compiling grass76_relbranch I got an indentation error in
i.pansharpen at line 257
(https://trac.osgeo.org/grass/browser/grass/branches/releasebranch_7_6/scripts/i.pansharpen/i.pansharpen.py#L257)

{{{
File "/home/veroandreo/software/grass76_release/dist.x86_64-pc-linux-
gnu/scripts/i.pansharpen", line 256
     pr.wait()
     ^
IndentationError: unexpected indent
}}}

I entered the directory of i.pansharpen, run make, still the same error.
So I open the code and locally moved lines 257-263 to the left.
Compilation of i.pansharpen went fine, no errors. But when I try to run
the examples in the manual page for Landsat 7 in NC Location, I get:

{{{
GRASS 7.6.2svn (nc_spm_08_grass7):~ > i.pansharpen
red=lsat7_2002_30@PERMANENT green=lsat7_2002_20 blue=lsat7_2002_10
pan=lsat7_2002_80 method=ihs output=lsat7_2002_ihs
Traceback (most recent call last):
   File "/home/veroandreo/software/grass76_release/dist.x86_64-pc-linux-
gnu/scripts/i.pansharpen", line 402, in <module>
     main()
   File "/home/veroandreo/software/grass76_release/dist.x86_64-pc-linux-
gnu/scripts/i.pansharpen", line 135, in main
     if bits == 8:
NameError: global name 'bits' is not defined
}}}

Is this related to the backport in r74385?

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3820&gt;
GRASS GIS <https://grass.osgeo.org>

#3820: Error i.pansharpen in grass76 relbranch
--------------------------+---------------------------------
  Reporter: veroandreo | Owner: grass-dev@…
      Type: defect | Status: new
  Priority: normal | Milestone: 7.6.2
Component: Imagery | Version: svn-releasebranch76
Resolution: | Keywords: i.pansharpen
       CPU: Unspecified | Platform: Unspecified
--------------------------+---------------------------------

Comment (by veroandreo):

It does work in trunk with no reported errors. However, if I run it in
trunk compiled with python 3 in a virtualenv, I get:

{{{
i.pansharpen red=lsat7_2002_30@PERMANENT green=lsat7_2002_20
blue=lsat7_2002_10 pan=lsat7_2002_80 method=ihs output=lsat7_2002_ihs
Using 8bit image channels
Performing pan sharpening with hi res pan image: 14.250000
Transforming to IHS color space...
  100%
Histogram matching...
  100%
Traceback (most recent call last):
   File "/home/veroandreo/software/grass7_trunk/dist.x86_64-pc-linux-
gnu/scripts/i.pansharpen", line 632, in <module>
     main()
   File "/home/veroandreo/software/grass7_trunk/dist.x86_64-pc-linux-
gnu/scripts/i.pansharpen", line 259, in main
     ihs(pan, ms1, ms2, ms3, out, pid, sproc)
   File "/home/veroandreo/software/grass7_trunk/dist.x86_64-pc-linux-
gnu/scripts/i.pansharpen", line 380, in ihs
     panmatch = matchhist(pan, target, outname)
   File "/home/veroandreo/software/grass7_trunk/dist.x86_64-pc-linux-
gnu/scripts/i.pansharpen", line 552, in matchhist
     stats = stats_out.communicate()[0].split('\n')[:-1]
TypeError: a bytes-like object is required, not 'str'
}}}

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3820#comment:1&gt;
GRASS GIS <https://grass.osgeo.org>

#3820: Error i.pansharpen in grass76 relbranch
--------------------------+---------------------------------
  Reporter: veroandreo | Owner: grass-dev@…
      Type: defect | Status: closed
  Priority: normal | Milestone: 7.6.2
Component: Imagery | Version: svn-releasebranch76
Resolution: fixed | Keywords: i.pansharpen
       CPU: Unspecified | Platform: Unspecified
--------------------------+---------------------------------
Changes (by cmbarton):

* status: new => closed
* resolution: => fixed

Comment:

Should be fixed now in r74403.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3820#comment:2&gt;
GRASS GIS <https://grass.osgeo.org>

#3820: Error i.pansharpen in grass76 relbranch
--------------------------+---------------------------------
  Reporter: veroandreo | Owner: grass-dev@…
      Type: defect | Status: closed
  Priority: normal | Milestone: 7.6.2
Component: Imagery | Version: svn-releasebranch76
Resolution: fixed | Keywords: i.pansharpen
       CPU: Unspecified | Platform: Unspecified
--------------------------+---------------------------------

Comment (by cmbarton):

Replying to [comment:1 veroandreo]:
> It does work in trunk with no reported errors. However, if I run it in
trunk compiled with python 3 in a virtualenv, I get:
>
> {{{
> i.pansharpen red=lsat7_2002_30@PERMANENT green=lsat7_2002_20
blue=lsat7_2002_10 pan=lsat7_2002_80 method=ihs output=lsat7_2002_ihs
> Using 8bit image channels
> Performing pan sharpening with hi res pan image: 14.250000
> Transforming to IHS color space...
> 100%
> Histogram matching...
> 100%
> Traceback (most recent call last):
> File "/home/veroandreo/software/grass7_trunk/dist.x86_64-pc-linux-
gnu/scripts/i.pansharpen", line 632, in <module>
> main()
> File "/home/veroandreo/software/grass7_trunk/dist.x86_64-pc-linux-
gnu/scripts/i.pansharpen", line 259, in main
> ihs(pan, ms1, ms2, ms3, out, pid, sproc)
> File "/home/veroandreo/software/grass7_trunk/dist.x86_64-pc-linux-
gnu/scripts/i.pansharpen", line 380, in ihs
> panmatch = matchhist(pan, target, outname)
> File "/home/veroandreo/software/grass7_trunk/dist.x86_64-pc-linux-
gnu/scripts/i.pansharpen", line 552, in matchhist
> stats = stats_out.communicate()[0].split('\n')[:-1]
> TypeError: a bytes-like object is required, not 'str'
> }}}

   So far, it is not designed to work in Python 3. I have not yet upgraded
my computers so I can't yet test. A coming step will be to develop a new
workflow to compile GRASS in Python 3.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3820#comment:3&gt;
GRASS GIS <https://grass.osgeo.org>

#3820: Error i.pansharpen in grass76 relbranch
--------------------------+---------------------------------
  Reporter: veroandreo | Owner: grass-dev@…
      Type: defect | Status: closed
  Priority: normal | Milestone: 7.6.2
Component: Imagery | Version: svn-releasebranch76
Resolution: fixed | Keywords: i.pansharpen
       CPU: Unspecified | Platform: Unspecified
--------------------------+---------------------------------

Comment (by veroandreo):

I confirm that the commit fixed the problem in relbranch.

>So far, it is not designed to work in Python 3. I have not yet upgraded
my computers so I can't yet test. A coming step will be to develop a new
workflow to compile GRASS in Python 3.

Will this help: https://trac.osgeo.org/grass/wiki/Python3Support#Howtotest
?

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3820#comment:4&gt;
GRASS GIS <https://grass.osgeo.org>