Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Opening .tiff geoimages consumes enormous memory
Forum Updated to NodeBB v4.3 + New Features

Opening .tiff geoimages consumes enormous memory

Scheduled Pinned Locked Moved Solved General and Desktop
40 Posts 5 Posters 5.2k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    J Offline
    john_hobbyist
    wrote on last edited by john_hobbyist
    #11
    This post is deleted!
    mrjjM 1 Reply Last reply
    0
    • J john_hobbyist

      This post is deleted!

      mrjjM Offline
      mrjjM Offline
      mrjj
      Lifetime Qt Champion
      wrote on last edited by
      #12

      @john_hobbyist

      Hi
      Why this old version ?

      Anyway, what are you trying ?

      Building PyQT4 from source ?

      Also is there any reason you want to use the competing Qt binding from another company instead of the
      official support one called pyside2 ?
      https://pypi.org/project/PySide2/
      https://doc.qt.io/qtforpython/

      1 Reply Last reply
      2
      • J Offline
        J Offline
        john_hobbyist
        wrote on last edited by john_hobbyist
        #13

        @mrjj

        I don't know what goes wrong...

        I just try to handle large tiff images instead of using opencv (that makes my program realy slow) with QTimagereader

        Sorry, I didn't identify it was a competing company...just a result in google when tried to install PyQt4

        Ok, I will look at it.

        mrjjM 1 Reply Last reply
        0
        • J john_hobbyist

          @mrjj

          I don't know what goes wrong...

          I just try to handle large tiff images instead of using opencv (that makes my program realy slow) with QTimagereader

          Sorry, I didn't identify it was a competing company...just a result in google when tried to install PyQt4

          Ok, I will look at it.

          mrjjM Offline
          mrjjM Offline
          mrjj
          Lifetime Qt Champion
          wrote on last edited by mrjj
          #14

          @john_hobbyist
          Hi
          Np I just wondered why you want Qt4 version and build from the source when
          PyQt5 is there and seems to be installable directly.
          Also here is how to use it
          https://programtalk.com/python-examples/PyQt5.Qt.QImageReader/
          Do note none of them use setClipRect to load image in chunks but
          should be easy to add.

          1 Reply Last reply
          1
          • Christian EhrlicherC Offline
            Christian EhrlicherC Offline
            Christian Ehrlicher
            Lifetime Qt Champion
            wrote on last edited by
            #15

            QtImagrReader is for sure not the correct way to handle geotiff. Either use openCV or better gdal for such tasks.

            Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
            Visit the Qt Academy at https://academy.qt.io/catalog

            J 1 Reply Last reply
            2
            • Christian EhrlicherC Christian Ehrlicher

              QtImagrReader is for sure not the correct way to handle geotiff. Either use openCV or better gdal for such tasks.

              J Offline
              J Offline
              john_hobbyist
              wrote on last edited by
              #16

              @Christian-Ehrlicher

              I am trying GDAL in order to print the image:

              from osgeo import gdal
              import sys
              
              ds = gdal.Open('UAV_image.tif')
              print(ds)
              

              and I get this error:

              <osgeo.gdal.Dataset; proxy of <Swig Object of type 'GDALDatasetShadow *' at 0x7fb89062b840> >
              

              Any idea what I am missing here?

              1 Reply Last reply
              0
              • Christian EhrlicherC Offline
                Christian EhrlicherC Offline
                Christian Ehrlicher
                Lifetime Qt Champion
                wrote on last edited by
                #17

                @john_hobbyist said in Opening .tiff geoimages consumes enormous memory:

                Any idea what I am missing here?

                Nothing. All is fine.

                Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                Visit the Qt Academy at https://academy.qt.io/catalog

                1 Reply Last reply
                2
                • J Offline
                  J Offline
                  john_hobbyist
                  wrote on last edited by
                  #18

                  Why I cannot see the image?

                  1 Reply Last reply
                  0
                  • SGaistS Offline
                    SGaistS Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on last edited by
                    #19

                    The Python print function only print strings or a string representation of the object.

                    Check if GDAL provides a widget or equivalent for that.

                    Interested in AI ? www.idiap.ch
                    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                    1 Reply Last reply
                    2
                    • J Offline
                      J Offline
                      john_hobbyist
                      wrote on last edited by john_hobbyist
                      #20

                      Ok, until now OpenCV requires ~24GB RAM, gdal does not work. Is there any QImageReader sample code to open the .tif? I am searching the google for this...nothing found.

                      mrjjM Christian EhrlicherC 2 Replies Last reply
                      0
                      • J john_hobbyist

                        Ok, until now OpenCV requires ~24GB RAM, gdal does not work. Is there any QImageReader sample code to open the .tif? I am searching the google for this...nothing found.

                        mrjjM Offline
                        mrjjM Offline
                        mrjj
                        Lifetime Qt Champion
                        wrote on last edited by
                        #21

                        @john_hobbyist
                        Hi
                        in what way did GDAL not work ?

                        Also, Mr @Christian-Ehrlicher made me realize that geotiff is a special tiff so
                        even QImageReader can read an image in sections. it might not really do what you want.

                        What do you need to do to this image ?

                        1 Reply Last reply
                        1
                        • J john_hobbyist

                          Ok, until now OpenCV requires ~24GB RAM, gdal does not work. Is there any QImageReader sample code to open the .tif? I am searching the google for this...nothing found.

                          Christian EhrlicherC Offline
                          Christian EhrlicherC Offline
                          Christian Ehrlicher
                          Lifetime Qt Champion
                          wrote on last edited by
                          #22

                          @john_hobbyist I wonder what you want to do with this image when you even don't know the basics of this format... it's a georeferenced image with multiple images and bands inside. It's not a simple picture at all.

                          Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                          Visit the Qt Academy at https://academy.qt.io/catalog

                          1 Reply Last reply
                          4
                          • J Offline
                            J Offline
                            john_hobbyist
                            wrote on last edited by john_hobbyist
                            #23

                            @mrjj and @Christian-Ehrlicher:

                            I want to open it and do some zooming with code I use. Also I want to read the coordinates from the image (I do not how, but I am searching it)

                            mrjjM 1 Reply Last reply
                            0
                            • J john_hobbyist

                              @mrjj and @Christian-Ehrlicher:

                              I want to open it and do some zooming with code I use. Also I want to read the coordinates from the image (I do not how, but I am searching it)

                              mrjjM Offline
                              mrjjM Offline
                              mrjj
                              Lifetime Qt Champion
                              wrote on last edited by JKSH
                              #24

                              @john_hobbyist
                              Ok then QImageReader is not the way as it can't access any coordinates.

                              I think you gave up on GDAL too fast. It's whats people seem to use.

                              1 Reply Last reply
                              1
                              • J Offline
                                J Offline
                                john_hobbyist
                                wrote on last edited by
                                #25

                                @mrjj: yes with

                                gdalinfo
                                

                                command on the terminal I get the information I want...
                                Is there any way to get these information from the terminal and feed it to my python code for further processing? In other words how do I read information posted in terminal and use it inside my python code?

                                Ok, I will try again gdal to open the .tif

                                mrjjM 1 Reply Last reply
                                0
                                • J john_hobbyist

                                  @mrjj: yes with

                                  gdalinfo
                                  

                                  command on the terminal I get the information I want...
                                  Is there any way to get these information from the terminal and feed it to my python code for further processing? In other words how do I read information posted in terminal and use it inside my python code?

                                  Ok, I will try again gdal to open the .tif

                                  mrjjM Offline
                                  mrjjM Offline
                                  mrjj
                                  Lifetime Qt Champion
                                  wrote on last edited by
                                  #26

                                  @john_hobbyist
                                  Hi
                                  well yes, you could call gdalinfo with QProcess
                                  https://www.learnpyqt.com/tutorials/qprocess-external-programs/
                                  read the section with "Getting data from the QProcess"

                                  1 Reply Last reply
                                  1
                                  • J Offline
                                    J Offline
                                    john_hobbyist
                                    wrote on last edited by
                                    #27

                                    Hello,
                                    Ok I read it.

                                    What is wrong in this code, and I cannot run the command via python command:

                                    import sys
                                    import time
                                    
                                    def flush_then_wait():
                                        sys.stdout.flush()
                                        sys.stderr.flush()
                                        time.sleep(0.5)
                                    
                                    sys.stdout.write('gdalinfo UAV_image.tif')
                                    flush_then_wait()
                                    

                                    on the terminal I run gdalinfo UAV_image.tif and prints me the metadata of the .tif, but I cannot run it through the python script

                                    mrjjM 1 Reply Last reply
                                    0
                                    • J john_hobbyist

                                      Hello,
                                      Ok I read it.

                                      What is wrong in this code, and I cannot run the command via python command:

                                      import sys
                                      import time
                                      
                                      def flush_then_wait():
                                          sys.stdout.flush()
                                          sys.stderr.flush()
                                          time.sleep(0.5)
                                      
                                      sys.stdout.write('gdalinfo UAV_image.tif')
                                      flush_then_wait()
                                      

                                      on the terminal I run gdalinfo UAV_image.tif and prints me the metadata of the .tif, but I cannot run it through the python script

                                      mrjjM Offline
                                      mrjjM Offline
                                      mrjj
                                      Lifetime Qt Champion
                                      wrote on last edited by
                                      #28

                                      @john_hobbyist
                                      hi
                                      That code only prints the text to the console.
                                      It does not try to run gdalinfo
                                      The first part is just a test script to run that shows some output.

                                      You want the part with
                                      p = QProcess()
                                      p.start("ffprobe", ['-show_format', '-show_streams', 'a.mp4.py'])

                                      (replace the program and parameters)

                                      also to read the result, you should also read the
                                      "Getting data from the QProcess" part

                                      You want to use the full Python program shown near teh end. it sets up reading from the process.

                                      1 Reply Last reply
                                      2
                                      • J Offline
                                        J Offline
                                        john_hobbyist
                                        wrote on last edited by
                                        #29

                                        Ok, I understand the:

                                        p = QProcess()
                                        p.start("python", ["dummy_script.py"])
                                        

                                        but not

                                        p.start("ffprobe", ['-show_format', '-show_streams', 'a.mp4.py'])
                                        

                                        I assume that I put "python" on "ffprobe" but what I put on '-show_format', '-show_streams' ??

                                        Thanx

                                        mrjjM 1 Reply Last reply
                                        0
                                        • J john_hobbyist

                                          Ok, I understand the:

                                          p = QProcess()
                                          p.start("python", ["dummy_script.py"])
                                          

                                          but not

                                          p.start("ffprobe", ['-show_format', '-show_streams', 'a.mp4.py'])
                                          

                                          I assume that I put "python" on "ffprobe" but what I put on '-show_format', '-show_streams' ??

                                          Thanx

                                          mrjjM Offline
                                          mrjjM Offline
                                          mrjj
                                          Lifetime Qt Champion
                                          wrote on last edited by mrjj
                                          #30

                                          @john_hobbyist
                                          Hi
                                          The first one, starts the python app with the parameter of a script name

                                          This one
                                          p.start("ffprobe", ['-show_format', '-show_streams', 'a.mp4.py'])

                                          calls the app ffprobe with 4 parameters.

                                          So you would do

                                          p.start("gdalinfo ", ['UAV_image.tif'])

                                          you might need a full path to the UAV_image.tif instead of just the name.

                                          1 Reply Last reply
                                          2

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved