ProcessIcon (Container) - single steps ok - all in one? Bug?

Herbert_W

Well-known member
Hi!

Attached an image and a process icon (container).
If you drag the individual processes onto the image, everything is ok (drag the individual processes in the container one after the other onto the image).
If you apply the process container (drag the blue triangle onto the image) the image becomes too light.

What am I doing wrong or is this a bug?

Thank you for your help and best regards!
Herbert, Austria

ProcessIcon_and_image
 
Hi Herbert,

There is no bug here, just the expected behavior. Although, admittedly, what is technically expected can be quite unexpected from a practical perspective in this case.

Your process container includes instances of the AutoHistogram process. AutoHistogram depends on statistical properties of the target image (specifically, the histogram and the median), which are computed and cached by the core application for performance optimization purposes. When you execute the sequence of processes step by step, each time you execute one of them these properties are destroyed because the processes alter the pixels of the image, and they are computed again when the next instance is executed. However, a ProcessContainer instance acts as a single process, so the statistical properties of the target image are only destroyed at the end of ProcessContainer execution. Consequently, when you execute the process container each AutoHistogram instance gets the median and histogram properties of the image that are still cached as they were at the beginning of the execution sequence, which is not what you expect.

The AutoHistogram process, as it is implemented currently, is not well suited for process container execution. It is more intended to work as an interactive tool than as an automatable process.

For your information, this problem is currently affecting the following tools:

- AssistedColorCalibration
- AutoHistogram
- Divide (an obsolete tool, no longer used)

These three tools depend on image properties that are computed and cached by core routines. Since these routines will never recompute a property unless doing so becomes unavoidable, the above processes cannot be executed effectively in process containers.
 
Hi Juan!
Thank you for the quick response and the detailed answer.
This information is very useful when ProcessIcons are shared among users.

Best regards!
Herbert, Austria
 
Back
Top