RSS/Atom feed Twitter
Site is read-only, email is disabled

Enhancement idea: Snapshot tool for quick comparisons

This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

8 of 8 messages available
Toggle history

Please log in to manage your subscriptions.

Enhancement idea: Snapshot tool for quick comparisons vabijou2 26 Jun 21:59
  Enhancement idea: Snapshot tool for quick comparisons Akkana Peck 26 Jun 23:43
   Enhancement idea: Snapshot tool for quick comparisons Joao S. O. Bueno 28 Jun 02:58
  Enhancement idea: Snapshot tool for quick comparisons Joao S. O. Bueno 27 Jun 04:20
   Enhancement idea: Snapshot tool for quick comparisons vabijou2 27 Jun 13:37
    Enhancement idea: Snapshot tool for quick comparisons saulgoode@flashingtwelve.brickfilms.com 27 Jun 15:30
     Enhancement idea: Snapshot tool for quick comparisons vabijou2 27 Jun 19:26
    Enhancement idea: Snapshot tool for quick comparisons Sven Neumann 01 Jul 22:38
vabijou2
2008-06-26 21:59:00 UTC (over 16 years ago)

Enhancement idea: Snapshot tool for quick comparisons

I tried posting this to the list first, but apparently the list was down, so I went ahead and submitted a bug (#540091). The text below is from that bug report, and I would love to have this idea discussed on the list for possible development.

When editing photos I find that it is tedious waiting for the rendering to be
completed as I turn layers on and off for comparing the effects of the changes
I'm making. I would like to see a new tool/UI that would allow a snapshot to
be taken of any currently displayed view and saved for comparison with other snapshots later. It would be good to allow these snapshots to be named. I visualize a list of snapshots, and clicking on each one displays it in a snapshot review window. This window would have zooming and panning capabilities. By eliminating the processing that I assume is required each time a layer is turned on/off, I would think that the snapshots could be displayed very quickly and make subtle differences between snapshots more apparent. Perhaps something like this might be done using the "Copy Visible"
function and creating a display window with a list of snapshots displayed on the side?

------------------------------------------------------------------------------

Akkana Peck
2008-06-26 23:43:15 UTC (over 16 years ago)

Enhancement idea: Snapshot tool for quick comparisons

vabijou2 writes:

Image -> Duplicate is an unacceptable alternative. The idea is to create a single window that allows the user to cycle through multiple (named) snapshots
in any order he chooses to see large or small changes more readily. Image ->
Duplicate has so many negatives to this process that I don't know where to start.

How about this?

The first time, do Copy Visible then Paste as->New Image. Call this new image the snapshot image.

After that, do Copy Visible then go to the snapshot image and Paste (then click New Layer).

Now the snapshot image has all the snapshots as layers. To cycle through you need only turn layers on and off.

Of course, if you did this all the time you could very easily automate the process: make a little script-fu that does Copy Visible, checks whether the snapshot image exists, then either does Paste as New or Paste + New Layer in the snapshot image, from a single menu item.

...Akkana

Joao S. O. Bueno
2008-06-27 04:20:58 UTC (over 16 years ago)

Enhancement idea: Snapshot tool for quick comparisons

On Thursday 26 June 2008, vabijou2 wrote:

I tried posting this to the list first, but apparently the list was down, so I went ahead and submitted a bug (#540091). The text below is from that bug report, and I would love to have this idea discussed on the list for possible development.

When editing photos I find that it is tedious waiting for the rendering to be
completed as I turn layers on and off for comparing the effects of the changes
I'm making. I would like to see a new tool/UI that would allow a snapshot to
be taken of any currently displayed view and saved for comparison with other snapshots later. It would be good to allow these snapshots to be named. I visualize a list of snapshots, and clicking on each one displays it in a snapshot review window. This window would have zooming and panning capabilities. By eliminating the processing that I assume is required each time a layer is turned on/off, I would think that the snapshots could be displayed very quickly and make subtle differences between snapshots more apparent. Perhaps something like this might be done using the "Copy Visible"
function and creating a display window with a list of snapshots displayed on the side?

Hi there -

I am improving the "layer group" plug-in that hacks some layer group functionality in GIMP.
You can have a version of it at [1] right now - but I am working on a version featuring a dialog where one can trun the groups visible or invisible with a single click. That will still work on teh same image, but you can do image->duplicate if you need to see diferent versions at once.

[1] -
http://www.gimpstuff.org/content/show.php/Layer+groups?content=83137

js ->

------------------------------------------------------------------- -------------

Comment #1 from Martin Nordholts (GIMP developer, points: 14) 2008-06-25 04:29 UTC [reply]
Hi

Why not just use Image -> Duplicate as the snapshot mechanism? If that doesn't
work, please bring this up on the gimp-developer mailing list. Before opening
an enhancement request the feature and solution should have been discussed there.

Thanks

------------------------------------------------------------------- -------------

Comment #2 from vabijou yahoo com (reporter, points: 6) 2008-06-25 13:12 UTC [reply]

The gimp-developer mailing list has had no activity since June 16, so it does
not appear to be working. I've tried posting there, and my e-mails have been
returned. I've e-mailed the gimp-developer administrator and had that e-mail
returned. I posted it on nabble on June 20 and there it sits. I think I've done my best to work within the system, and the system failed me. Hence, I'm
posting it here.

Image -> Duplicate is an unacceptable alternative. The idea is to create a single window that allows the user to cycle through multiple (named) snapshots
in any order he chooses to see large or small changes more readily. Image ->
Duplicate has so many negatives to this process that I don't know where to start.

Two major problems with Image -> Duplicate immediately come to mind:

1) It would be a huge waste of memory, since it completely copies the image info (except for the History).

2) It scatters windows all over the place, making comparisons difficult.

What I'm after is a fast-rendering, easy to use method of flipping through "snapshots" of my workflow. Shift-clicking on the eye-ball by each layer comes
close, but it is slowed by the processing required during rendering. My proposal is a way to get around that and speed things up for the user.

vabijou2
2008-06-27 13:37:01 UTC (over 16 years ago)

Enhancement idea: Snapshot tool for quick comparisons

Joao S. O. Bueno Calligaris wrote:

Hi there -

I am improving the "layer group" plug-in that hacks some layer group functionality in GIMP.
You can have a version of it at [1] right now - but I am working on a version featuring a dialog where one can trun the groups visible or invisible with a single click. That will still work on teh same image, but you can do image->duplicate if you need to see diferent versions at once.

The problem with turning layers or layer groups on/off is the time required to redraw the image. Today's cameras have more and more pixels, hence larger files. A 100% quality jpeg of these files can be displayed in no time, but it takes many seconds to redraw them in GIMP when (multiple) layers have to be processed.

What I'm after is a fast-rendering, easy to use method of flipping through "snapshots" of my workflow. Shift-clicking on the eye-ball by each layer comes close, but it is slowed by the processing required during rendering. My proposal is a way to get around that and speed things up for the user. The ideal experience for the user would be to be able to add a snapshot to the snapshot list/window at any point after he has made some intermediate edits on his image. He could then continue his workflow, making more edits and occasionally adding more snapshots to the snapshot list. If he wants to see the subtle effects of a step such as sharpening or dodging/burning, he could click back and forth between "before" and "after" snapshots. Having them displayed directly on top of each other in the same zoomable,pan-able window will allow him to more easily see these subtle effects than displaying the two snapshots in separate image windows or even side-by-side in the same window.

This is the approach taken in two RAW converter packages I've used (RawTherapee and Sony IDC), and it helps greatly because the processing of adjustments to a RAW file can take a great deal of time. I think it has direct application to GIMP because the refresh rate on large files is slowed by layer calculations.

saulgoode@flashingtwelve.brickfilms.com
2008-06-27 15:30:00 UTC (over 16 years ago)

Enhancement idea: Snapshot tool for quick comparisons

Quoting vabijou2 :

What I'm after is a fast-rendering, easy to use method of flipping through "snapshots" of my workflow. Shift-clicking on the eye-ball by each layer comes close, but it is slowed by the processing required during rendering. My proposal is a way to get around that and speed things up for the user. The ideal experience for the user would be to be able to add a snapshot to the snapshot list/window at any point after he has made some intermediate edits on his image.

I have written a Script-fu
(http://flashingtwelve.brickfilms.com/GIMP/Scripts/snapshot-projection.scm) which might be helpful.

The script adds a "Snapshot Projection" command to the Image menu and when executed, will add a layer to the image's "snapshot view" (which is actually itself an image). If the snapshot image does not exist, it is created.

The layername generated for the added snapshot layer consists of: the total number of layers in the image at the time of the snapshot followed by a colon followed by a period separated list of the positions of the visible layers (top-to-bottom, top being "0"). For example, an image with four layers with the layer underneath the top layer in the stack hidden would produce a snapshot layer named "4:0.2.3"

Of course you are free to rename the snapshot layer to something more informative should you wish.

The script does not expand the snapshot image's canvas size; should this be desired then perform a "Image->Fit Canvas To Layers" (or modify the script to perform a 'gimp-image-resize-to-layers') on the snapshot image.

Each open image can have its own snapshot view. You can save the snapshot image to a file, and even reload it later as long as you don't rename it. If you close your original image and reload it, it will NOT use the same snapshot image (a new one will be created). The same is true if you duplicate your original image: a new snapshot view will be created for the duplicate image.

The script has not been rigorously tested but I did attempt to have it return things to their original state.

vabijou2
2008-06-27 19:26:43 UTC (over 16 years ago)

Enhancement idea: Snapshot tool for quick comparisons

saulgoode-2 wrote:

I have written a Script-fu
(http://flashingtwelve.brickfilms.com/GIMP/Scripts/snapshot-projection.scm) which might be helpful.

The script adds a "Snapshot Projection" command to the Image menu and when executed, will add a layer to the image's "snapshot view" (which is actually itself an image). If the snapshot image does not exist, it is created.

The layername generated for the added snapshot layer consists of: the total number of layers in the image at the time of the snapshot followed by a colon followed by a period separated list of the positions of the visible layers (top-to-bottom, top being "0"). For example, an image with four layers with the layer underneath the top layer in the stack hidden would produce a snapshot layer named "4:0.2.3"

Of course you are free to rename the snapshot layer to something more informative should you wish.

The script does not expand the snapshot image's canvas size; should this be desired then perform a "Image->Fit Canvas To Layers" (or modify the script to perform a 'gimp-image-resize-to-layers') on the snapshot image.

Each open image can have its own snapshot view. You can save the snapshot image to a file, and even reload it later as long as you don't rename it. If you close your original image and reload it, it will NOT use the same snapshot image (a new one will be created). The same is true if you duplicate your original image: a new snapshot view will be created for the duplicate image.

The script has not been rigorously tested but I did attempt to have it return things to their original state.

Saul,

I tried your script and it actually works very well! I tried it on some 5MP image files and the redraw rate was acceptable. With larger files 10MP+, I'm concerned that the redraw rate might be too slow using GIMP's current process, but this is an assumption on my part based on the processing I assume GIMP must do with layers.

What would it take to put any finishing touches on this script and incorporate officially in a future release? Also, would it be possible to add an icon of a camera to the toolbox so that the user doesn't have to access it through the menu structure (similar to Adobe Acrobat)?

..... Mark

Joao S. O. Bueno
2008-06-28 02:58:53 UTC (over 16 years ago)

Enhancement idea: Snapshot tool for quick comparisons

On Thursday 26 June 2008, Akkana Peck wrote:

vabijou2 writes:

Image -> Duplicate is an unacceptable alternative. The idea is to create a single window that allows the user to cycle through multiple (named) snapshots
in any order he chooses to see large or small changes more readily. Image ->
Duplicate has so many negatives to this process that I don't know where to start.

How about this?

The first time, do Copy Visible then Paste as->New Image. Call this new image the snapshot image.

After that, do Copy Visible then go to the snapshot image and Paste (then click New Layer).

Now the snapshot image has all the snapshots as layers. To cycle through you need only turn layers on and off.

Of course, if you did this all the time you could very easily automate the process: make a little script-fu that does Copy Visible, checks whether the snapshot image exists, then either does Paste as New or Paste + New Layer in the snapshot image, from a single menu item.

eeeek
Please stop that. :-p
I will finish the more usable layer group plug-in this weekend.

js ->

...Akkana

Sven Neumann
2008-07-01 22:38:14 UTC (over 16 years ago)

Enhancement idea: Snapshot tool for quick comparisons

Hi,

On Fri, 2008-06-27 at 04:37 -0700, vabijou2 wrote:

The problem with turning layers or layer groups on/off is the time required to redraw the image. Today's cameras have more and more pixels, hence larger files. A 100% quality jpeg of these files can be displayed in no time, but it takes many seconds to redraw them in GIMP when (multiple) layers have to be processed.

Then this is the problem that needs to be addressed instead of adding yet another complex tool. The idea we are following to speed up these things is to make GIMP work on a scaled-down version of your image for preview. The actual full-scale image processing can then be done in the background and there's no need for the user to wait for it to be completed. This is a long-term goal of the GEGL integration. There's still a lot to do, both in GEGL and in GIMP, before we are there. But I think we should concentrate on that instead of following your proposal.

Sven