'Edit Instance Source Code...' problem, macOS

mschuster

PTeam Member
Nov 27, 2011
1,126
3
San Francisco
Hi Juan,

Selecting the command 'Edit Instance Source Code...' locks up PI's UI maybe once every 20 attempts of selecting this command.

When this problem occurs, double clicking an instance icon has no effect, and PI's Quit command is dimmed. A force quit is required.

Senario: Open .xpsm containing multiple ImageIntegration instances. For each, select 'Edit Instance Source Code...', select and copy path name lines to the Script Editor, perform a 'Replace All' to change the file paths, copy the resulting text and paste into the instance source code window (this window is still open with the original lines still selected), click on the check box to confirm the change. Repeat. Save the edited instances as a new .xpsm.

After some number of repetitions of the above, the action of selecting the 'Edit Instance Source Code...' command causes the PI lockup.

My workaround: Open the .xpsm file directly into the Script Editor, edit, and save.
 
Last edited:

mschuster

PTeam Member
Nov 27, 2011
1,126
3
San Francisco
Hi Juan,

Another update:

When I right click on a StarAlignment instance icon and select 'Execute in the global context' then execution metadata gets added to the instance icon.

However, if I double click on a StarAlignment instance and in the resulting process window I click on 'Apply Global' then no execution metadata gets added to the instance icon.

Now I feel I should never do the former.
 

Juan Conejero

PTeam Member
Sep 2, 2004
7,364
58
56
Valencia, Spain
pixinsight.com
Hi Mike,

I cannot reproduce this problem with the source code editor, neither with your icons nor with some test projects that I've checked. I'm working on Linux right now; I'll try on macOS later.

My understanding is that process instances contain parameters, not process execution results. I am confused to see this situation.
Process instances contain process parameters and may also contain read-only process properties, which are generated by some processes (StarAlignment is one of them) to store output data. These read-only properties are used to share data among scripts and processes. For example, the ImageSolver script depends on output data generated by StarAlignment as an initial solution computed from star pair matches between catalog star positions and image star centroids. The WBPP script depends on output data generated by several processes, such as ImageCalibration, Debayer, ImageIntegration, etc.

When I right click on a StarAlignment instance icon and select 'Execute in the global context' then execution metadata gets added to the instance icon.
This is normal behavior, and happens because the instance transported by the icon is executed directly.

However, if I double click on a StarAlignment instance and in the resulting process window I click on 'Apply Global' then no execution metadata gets added to the instance icon.
In this case you load a copy of the icon's instance in the StarAlignment interface. When you execute from the interface, what is executed is a new duplicate of the interface's instance. When you execute in the global context, since there is no accessible global processing history, the generated output data are lost. When you execute a process on an image, the output data (if any) is stored in the image's processing history.

So if you don't want to store output data in an existing icon upon execution, always load it in its corresponding interface window, then execute from the interface.
 

mschuster

PTeam Member
Nov 27, 2011
1,126
3
San Francisco
Thanks Juan, I understand.

I would prefer to report an easy to reproducible problem, but after many days of repeating problems, I have not been able to do so. I figured I better report it anyway.