Process Containers



::Index  <Prev

The ProcessContainer Process

The Process Container Window



The ProcessContainer Process

A process container is an ordered collection of process instances in PixInsight. Process containers have been implemented as a process, namely ProcessContainer, whose standard interface is the Process Container window that we'll see in this document.

An instance of ProcessContainer can be executed on a view if, and only if, all of the process instances in the container can also be executed on that view. The same is true for global execution.

ProcessContainer implements a recursive structure: since an instance of ProcessContainer contains processes, it can contain other instances of ProcessContainer, which in turn can contain... and so on.


The Process Container Window

This window is the standard interface of ProcessContainer, but it is not the only interface for this process. The Processing History window is also an interface for ProcessContainer, but it can only work with a view's processing history, not with independent ProcessContainer instances (as process icons, for example). Another difference between both windows is imposed by the fact that a view's processing history is a read-only object, while an independent ProcessContainer instance can be freely edited.

On the Process Container window you have a list with the process instances owned by the ProcessContainer object currently loaded. Remember that processing windows in PixInsight work with copies of process instances, not with references to actual objects. This means that you can load a process icon in this window and play with it without being worried about making changes to the original.

Each process instance can be enabled or disabled. Disabled instances will be ignored when the ProcessContainer object is executed. This is very useful to try out a processing sequence and see what happens if we don't include some particular processes. To enable or disable an instance, just double click on the first column of the list. For example, the third process in the above screenshot was disabled.

The rest of columns are quite straightforward. Process Id gives the process identifier for each process instance in the list. Start Time can be blank if a process instance has not been executed yet. Secs. gives the execution time, if applicable. Mask is the identifier of the image used to mask each process, or it is blank if no mask has been used. Finally, Parameters shows a brief summary of the parameters used by each process.

You can edit the contents of this window in several ways:

  • Edit a copy of a process instance
    Double-click on the corresponding list row, except on the first list column. This will load the instance parameters in the appropriate processing window and will activate it.
  • Enable or disable a process instance
    Double-click the first column of the corresponding list row. Enabled instances are denoted by green check marks, and disabled ones by red cross marks.
  • Change the order in the list
    Click one row and drag upwards or downwards to redefine its position in the list. To move a row at the bottom of the list, drag it below the last item. To place a row at the top of the list, drag it and drop over the first item.
  • Remove a process instance
    Select it with the mouse and press the Delete key.
  • Insert a process icon in the list
    Drag it from its current location on the main window's work area to the desired position in the list of the Process Container window. A copy of the process icon's instance will be inserted at the dropping position.
  • Insert a ProcessContainer instance
    ProcessContainer is a recursive structure: there is no problem if you insert a ProcessContainer instance into another ProcessContainer instance.

Be aware that none of the actions listed above can be undone, so you must be careful when making changes to a ProcessContainer object if you don't have a safe copy of it. If the object is of some importance, it is a very good idea to make a backup copy first. This can be done very easily by creating a process icon with the window's process drag object.

The Clear button will empty the current list of processes, which will all of them be lost. Again, take into account that this action cannot be undone.

The Report button will use the Processing Report window to generate an exhaustive report for the ProcessContainer object being edited. In the documentation section corresponding to the Processing History window, you can find a review of the Processing Report window.



::Index  <Prev