Announcement

Collapse
No announcement yet.

Radical Image Optimization Tool (RIOT) by Lucian Sabo

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #46
    Hm... I understand now. I shall implement this. Good suggestion ! I've completelly forgot about this.
    There is a overwrite confirmation dialog. So the user is warned about overwriting and he decides.
    RIOT developer
    visit the Radical Image Optimization Tool website

    Comment


      #47
      A new stable candidate release is available

      Here are the modifications. Many thank for your great suggestions !

      v.0.1.6
      -known metadata can now be removed or kept by model
      (unknown or unsupported metadata is automatically dropped - exif is dropped)
      Lite version supports only choosing to keep comments. Other metadata is removed
      -image dragging improvements
      -minimum form size is now 681x389
      -on form resize the image is centered
      -default Filename in Save Picture Dialog is now the opened filename without extension
      if the source image is a DIB from memory (loaded from Clipboard, Resampled) the default Save as filename is "Untitled"
      -the allocated DIBs are freed now OnDestroy, not OnClose

      minor fixes:

      -default tooltip HidePause is now 7 seconds
      -kilobyte (1024 bytes) symbol is now KiB, as IEC recommends
      -removed semicolon from original image size label
      -right-click on image does not show a sizeAll cursor anymore
      large dpi font size bugfixes:
      -form is now resized for large screen dpi (>96) to fit controls
      -scrolling areas were shown with different sizes. Now they are equal
      -top label about optimized file (ex: 24 bit JPEG...) position is now correctly calculated
      -first status bar panel (with zoom display) resized to fit text with 120dpi font settings
      -minor changes in DLL interface

      PS: I've noticed that the image is positioned wrong by opening with Open button instead of dropping the file on the window.
      Small notes:
      -metadata is automatically removed for 8 bit images.
      -the Compress to Size function has a smart binary-search-type algorithm that finds the closest value with minimum trial steps (usually 4-5).
      Last edited by luciansabo; 27.05.2008, 09:57 AM. Reason: bug found
      RIOT developer
      visit the Radical Image Optimization Tool website

      Comment


        #48
        Very nice work.

        Maybe it could be useful, when having a new stable version, to add the link to http://luci.criosweb.ro/riot again at the bottom of the post.
        Now, I had to go back to page one of this thread to find it.
        0.6180339887
        Rest In Peace, Sam!

        Comment


          #49
          Great program!
          The only thing I miss in the standalone version is a crop tool.
          Off course this is not an issue when the IV plugin is made.

          Comment


            #50
            There is still an issue with the position of images on loading as reported in this post.

            1:1 is the best choice for seeing the effects of optimizing, but fit to window is the best option to show the whole image on loading. Then the user can zoom in to the area of greatest interest (e.g. a face) before adjusting the image.

            It is very unlikely that the important part of the image will be shown on loading, and I don't see the need for the large border around the image — 5 or 10 pixels would be sufficient just to indicate where the edge is.

            The positioning of different images seems to be random.
            Attached Files
            Last edited by Bhikkhu Pesala; 28.05.2008, 12:00 PM.
            Before you post ... Edit your profile • IrfanView 4.62 • Windows 10 Home 19045.2486

            Irfan PaintIrfan View HelpIrfanPaint HelpRiot.dllMore SkinsFastStone CaptureUploads

            Comment


              #51
              I was aware of this error few hours after the last release. A corrected version is now available:



              v.0.1.7 (stable candidate #4)
              -Fit to window is now applied on open
              -after resample image was not centered. Fixed
              -added option in View menu: Fit in window only big images.
              -change resample form tab order
              -minor code cleanup

              Future plans include a crop tool.
              RIOT developer
              visit the Radical Image Optimization Tool website

              Comment


                #52
                As a standalone version I could understand adding a crop function, but not as a IV-plugin.
                But is cropping still part of the 'optimizing' concept ? I doubt that.

                By the way, Lucian.
                I've added your application on my webite, not only with the site-link, but also with a stand-alone DL of the recent file.
                You can check the construction here.
                If you have any objection to this, let me know.
                0.6180339887
                Rest In Peace, Sam!

                Comment


                  #53
                  RIOT will come in 3 flavours:
                  -a full standalone application
                  -a full DLL for developers
                  -a lite plugin DLL for Irfan View

                  The plugin for IV will not contain the crop tool as neither the full version contains it.
                  Missing features of the lite version are:
                  -tone mapping HDR images
                  -open other formats different from bmp, jpeg, gif and png
                  -choose to keep or remove IPTC and XMP info metadata

                  As cropping is a basic operation in image processing the full version will have a crop tool. Basic image processing functions will be implemented as well (channel, gamma, brightness, contrast, saturation).
                  The IV plugin will concentrate for now on optimizing images for web.

                  If cropping is part of the process it's a good question. I think it is. I use cropping daily. Without the crop tool RIOT is not complete for me. It it not a mandatory part of the optimization, indeed, but it is a necesary step often.

                  Those that need enhanced functionality that the full version will provide can download later the full DLL from my website and overwrite the lite one.

                  PS: I am attaching a file with metadata information for testing.

                  I've added your application on my webite, not only with the site-link, but also with a stand-alone DL of the recent file.
                  Thank you for your support, but I have a couple of suggestions:
                  -this is not RIOT Lite. His name is just RIOT. Lite is only the future IV plugin that you cannot test without a future IrfanView version.
                  -the link points to my homepage. The official website for RIOT is http://luci.criosweb.ro/riot/ , so users arrive directly to the application website. My homepage is in romanian and it is unlikely someone to find the RIOT link.
                  Attached Files
                  RIOT developer
                  visit the Radical Image Optimization Tool website

                  Comment


                    #54
                    I've noticed that after resampling the images have the same size (even if they are resampled) due to fit in window setting. Don't you think after resample I should automatically call 1:1 to show the original size?

                    Later edit: I think after resample the first thing a user wants to see is how the image looks in its original size. I made automatic actual view(1:1) and centering after resample in a pre-release build.

                    I am waiting for other bug reports or corrections to include into 0.1.7
                    Hopefully this will be the last version of branch 0.1, finally in a 'stable' state.
                    build 0.1.7.2
                    -fixes in Fit to Window
                    -actual view is applied after resample
                    Last edited by luciansabo; 29.05.2008, 01:01 PM. Reason: pre-release
                    RIOT developer
                    visit the Radical Image Optimization Tool website

                    Comment


                      #55
                      New pre-release:

                      build 0.1.7.3
                      -drawing speed ups (up to 5 times faster displaying of optimized images)
                      -flicker reduced on drawing
                      -minor fixes
                      RIOT developer
                      visit the Radical Image Optimization Tool website

                      Comment


                        #56
                        Thanks for your suggestions. I have corrected this on my page.
                        0.6180339887
                        Rest In Peace, Sam!

                        Comment


                          #57
                          Why can't small programs open big images? See also this thread

                          RIOT failed to open a large image — IrfanView did too — but it is not that big. CorelPhotoPaint 9 (©2001) can open it just fine (image information from PhotoPaint attached). I have 1 Gbyte of RAM.

                          It seems that modern software is not as good as the old stuff. Micrografx Picture Publisher is even better than PhotoPaint for working on big images.
                          Attached Files
                          Last edited by Bhikkhu Pesala; 30.05.2008, 07:27 AM.
                          Before you post ... Edit your profile • IrfanView 4.62 • Windows 10 Home 19045.2486

                          Irfan PaintIrfan View HelpIrfanPaint HelpRiot.dllMore SkinsFastStone CaptureUploads

                          Comment


                            #58
                            You have a huge image.

                            It does not fit in your memory.
                            Working with huge DIBs in memory requires a big quantity of RAM.
                            Just to make you a calculation:

                            DIB filesize ~ = headersize + rowsize * height
                            where rowsize = 4 * (((n*width)+31)/32)

                            so
                            in your case
                            n = 24 (24 bits per pixel)
                            width = 19843
                            height = 28063

                            rowsize ~= 59532
                            filesize ~= 54 + (59532 * 28063) = 1.670.671.125 bytes
                            This requires 1593 Megabytes and you have only 1000

                            Maybe PhotoPaint and Micrografx Picture Publisher are designed to work with big images, caching parts of it or the whole image on disk. But programs that use memory to store images (like IV or RIOT) cannot do it if you don't have enough RAM.

                            DIBs require RAM.
                            On the other hand, DDBs require graphic card memory.

                            RIOT was not designed for this kind of utilization you ask for.
                            I tested it with a 9000x9000 image on my 2 GB machine and it works.
                            At peak time memory goes up to 1.5 GB and idle at 980 MB. More RAM, bigger files it can handle.
                            RIOT developer
                            visit the Radical Image Optimization Tool website

                            Comment


                              #59
                              Micrografx Picture Publisher couldn't load it either, but it managed OK when loading a smaller image (NASA's Whirlpool Galaxy: 5739 x 3983 Pixels). Then I could resize that image 200% in a fraction of the time taken by IrfanView. Riot almost gave up.

                              Time to resize 200% to 11478 x 7966 pixels

                              Picture Publisher with Smart Sizing: 3 seconds
                              Irfan View with Lanczos (slowest): 50 seconds
                              Riot with Bilinear (fast good): 150 seconds.
                              Riot with Lanczos3 (slow very good): 160 seconds.
                              Serif™ PhotoPlus 11 Lanzcos3: 170 seconds
                              PhotoPaint with Antialias: 30 seconds

                              I don't know what algorithm Picture Publisher is using, but it is not just a simple resize operation. Whatever it is doing, its design is far better than IrfanView. Riot is clearly doing something very wrong to take so long. I realise that most users won't be resizing huge images, but 6 megapixel cameras are pretty much standard nowadays.
                              You can use the SmartSizing option to maintain most of the detail of an image when you change the size or resolution. When the size or resolution decreases, pixels are discarded. Most other programs discard or replicate pixels, regardless of color value. With SmartSizing, each pixel that remains is newly generated from the color values of the discarded neighboring pixels. Each of the pixels in the original image contributes to the pixels in the new image.

                              When image size or resolution increases, new pixels are created by sampling the neighboring pixel values. Although it takes a little longer for Picture Publisher to process the changes, SmartSizing helps the image to retain the best possible quality after resizing.

                              Copyright © 1995 by Micrografx, Inc.
                              Last edited by Bhikkhu Pesala; 30.05.2008, 09:30 AM.
                              Before you post ... Edit your profile • IrfanView 4.62 • Windows 10 Home 19045.2486

                              Irfan PaintIrfan View HelpIrfanPaint HelpRiot.dllMore SkinsFastStone CaptureUploads

                              Comment


                                #60
                                lanczos3 is the slowest.
                                Yuu tested with RIOT's bilinear implementation, that is slightly slower than Box filter, that is the fastest.

                                Resample with RIOT is aparently slow, but for large images the time for resize quite good (~few seconds). You wait so much because of the preview. Opposite to IV or Micrographics RIOT is also saving the image, then loading from memory, then converting into windows DIB, and that's why it takes so much.

                                For example with a 6000x4000 image, resample with box filter takes only 5 seconds on my machine (lanczos about 8), then few more seconds for loading. The time consuming part is SAVING. You can see the moment when it starts to preview when the busy cursor appears.

                                PS: It seems from the description that Nearest Neighbour is implemented in Micrographics, that is the same as Box filter.
                                Actually it's funny you mentioned, but IV has a very slow resampling. The fastest resample filter is very sloow.
                                Last edited by luciansabo; 30.05.2008, 09:54 AM.
                                RIOT developer
                                visit the Radical Image Optimization Tool website

                                Comment

                                Working...
                                X