Hi,
I think the time has some to revisit a topic we discussed before related to saving full saved processing histories.
I look at processing the way I look at writing code. You have code revisions with comments, maybe branches and you can always return to a previous revision if something went wrong. I think this model applies nicely to image processing. PI is close to this model while the image is loaded and being processed but what's lacking is persistency. Yes, you can extract the processing history and save it but because it's not explicitly attached to the image there's a risk for confusion, at least for me.
So what I'm proposing is that PI allows you to create a Project (or some other name) which is a container for all elements needed to process your image:
- originals
- generated images such as masks and DBE images
- intermediate images that show the state of the image at processing step X
- processing steps (currently processing history) to get from image X to X+1
- preview settings
- whatever else PI needs
Most likely this could be implemented by storing everything in a user selectable directory (like Visual Studio does when you create a new project), maybe with sub subdirectories to keep things organized.
One of the consequences of this approach is that the original image can never be modified and neither can the intermediates. So the project needs to keep track of file status (timestamp or CRC based) and alert the user that the project is no longer valid.
The project could have a cleanup routine that allows the user to delete intermediate images to save image. They could be re-generated because the original is still there as well as the processing steps.
Let me know what you think.