Hi Max,
I'll try to answer most of your concerns. There are a couple that I am unsure of.
Most of the concerns, specifically 1, parts of 2, 5, and 6 are addressed with the next version which is instantiable. Process icons work very well as a means of saving specific process parameter values, file paths, output directories, and any number of workflows! However, the parameter settings function already handles some of that but I haven't been able to adequately convey that. This is what happens every time the script starts up :
- The 9 (now 12) process parameter variables are created with the PCL module default parameters.
- In the new version, the GlobalDaa importParameters function is run. If the script is being instantiated from a script icon, the script will recreate the contents of that icon (re-instantiation of a saved instance).
- The sript then checks for a key in the settings file to see if any saved parameters exist, if not, the default parameters are saved to the settings file(this only happens on the very first run of the script!).
- Next, the script loads each of the nine parameter variables with their respective values.
- Once loaded, the parameter variables will pass on their values evey time a process is created for an image set.
- After the process engine finishes the last thing the script does is save the nine parameter variables, with any changes made, to the Settings file.
Due to the fact that there are no saved parameters in the Settings file the very first time the script is run, the only parameters available will be the default PCL module parameters. The second time you run the script, any changes you made to the default parameters will show up in each process' parameter list. I hope this helps make things clearer.
3)
If I understand correctly, you are refering to the 'Set Reference' button on the Input Files list. When you click on an input file and then click the Set Reference button, the file you selected is moved to the top of the list. This function sets the ImageIntegration process' reference image, NOT the StarAlignment(registration) process' reference image.
4)
When I designed the script I did consider this option but the code required to do it was both much longer and more complex than the code required to disable a node. And it ultimately would provide no more functionality than simply disabling a node. One of the reasons for prefering shorter code is that when a script is run by the user, the core must compile the source code for the script at runtime. The longer the code is, the longer it takes the core to compile the script. So I am trying to be very conservative on the length of the code.
7)
Eventually I would like to create at least a tutorial on the script. (Maybe someone will create a vidoe!!)
If I haven't been clear, please let me know.
John