Image Windows Basics



::Index  <Prev  >Next

Image Window Caption

Views

View Identifiers

Why So Strict View Identifiers?

Accessing Views

Extended workspace


The figure below shows some important interface elements that can be found in every image window. What follows is a brief introduction to help you getting familiar with image windows in PixInsight.


Image Window Caption

The information shown on image window captions can be customized with dedicated global preferences options. The default settings include the following information in image captions: currently selected channel, current zoom ratio, current view's identifier, and, if the window data were loaded from a disk file, the file's full path.

Channel names are the common color names, i.e. red, green, blue, RGB, and so on.

Zoom ratios are expressed as integer fractions, where the syntax is <displayed>:<original>. So 1:1 means no zooming, or actual size display. 2:1 means 2x magnification, where each actual pixel is displayed as four (2x2) pixels on the screen. 1:3 means that each displayed pixel corresponds to nine actual pixels (3x3).


Views

On an image window there can be multiple views. There is always at least a main view, namely the image view, which gives access to the whole image contents. Additionally, an unlimited number of previews can be defined for each image, which are also handled as views on their parent image windows. Previews allow for accurate testing of processing sequences. Preview objects play a fundamental role in PixInsight and deserve a dedicated chapter of this documentation.

Every view owns a copy of the whole set of processes that have been applied to it. This is called a processing history in PixInsight. A processing history is a list of applied processes in chronological order. A view's processing history is automatically updated as processes are being applied and undone. Processing histories are very important objects in PixInsight; we'll see them thoroughly in specific documentation sections.


View Identifiers

Each view in PixInsight, either an image view or a preview, has an assigned identifier. Identifiers can be considered as sequences of characters (known as strings in the programming jargon) that must fulfill certain strict conditions. Firstly, identifiers are unique within their naming context. For example, there cannot be two or more image views with the same identifier. Within a given image, there cannot be two or more previews with the same identifier.

Identifiers follow a strict syntax. A valid identifier may only contain characters from the following sets:

Uppercase alphabetic: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Lowercase alphabetic: abcdefghijklmnopqrstuvwxyz
Decimal numeric: 0123456789
Underscore: _

Furthermore, a valid identifier can only start with an alphabetic or underscore character. Finally, identifiers are case sensitive, so AFancyId is considered as distinct from afancyid.

Some examples of syntactically valid identifiers:

CurvesPreview_01
outer_ring_4thTest
TestPreview
_1_
see_what_happens_if_too_much_smoothed

Some examples of invalid identifiers:

a test preview    (whitespace not allowed)
17test    (cannot start with numeric character)
Preview-01    (cannot use minus sign character '-')

There is no specific limit on the length of view identifiers; you should keep them short but meaningful.

Preview identifiers are fully qualified by the identifier of their image view and the 'member of' operator: '->'. For example, Image01->Preview01 means that Preview01 is a preview of Image01. We'll explain this in more detail on a chapter dedicated to Previews.

In contexts where the user doesn't (or cannot) give an identifier to a newly created object, PixInsight assigns a default one. Default identifiers for image views are generated accordingly to specific settings of global preferences. By default, image views are named as ImageNN, where NN is a zero-padded number beginning with one and increasing automatically as images are opened or created.


Why So Strict View Identifiers?

Because the standard (full) version of PixInsight is built around an Application Programmer's Interface (API) system that allows users to create new processes, file format support modules and user interface modules, which can be connected to PixInsight in a flexible and modular way. View objects can be accessed as variables by some API functions, so their identifiers must follow strict ANSI C++ syntax rules, since C++ is the programming language used to build the API system.


Accessing Views

Only one view can be selected on any image window as its current view. The current view is the view whose pixel data are displayed and explored on the image window.

Views can be selected through their associated view selectors, which are small vertical tabs located on the view selector tray, which in turn is located on the left edge of each image window. Each view selector shows the corresponding view identifier vertically. To select a given view (if any exist besides the image view), just click on its view selector.


Extended Workspace

You can resize any image window by simply clicking on one of its corners or outer edges and dragging the mouse cursor, or by maximizing/minimizing it, just as usual in Windows. When you resize an image window so that the image view does not fill the whole available client area on the window, you can see the extended workspace. When the extended workspace is shown, the current view is drawn centered on it.

You can measure coordinates and start rectangular area definitions by clicking on a window's extended workspace. For example, this is very useful to dynamically defining a cropping area, or to create previews. We'll see this in more depth in the documentation entries dedicated to these specific tasks.



::Index  <Prev  >Next