USER'S MANUAL

CONTENTS



INTRODUCTION

Overview

Ellipse is a user-friendly image analysis program for Microsoft Windows versions NT/2000/XP/Vista and higher. It is supplied with an external library FreeImage that supports most of known image formats like BMP, TIF, JPEG, TARGA etc. Images (8-bits grayscale, palletized and true color) can be organized into a stack which is a proper representation of image series (e.g. serial sections or video sequence). The manipulation with images is simple due-to multiple document architecture (MDI) and the built-in functions like stack browsing, zoom and scroll capabilities.

Ellipse has various tools for editing of objects (points, lines, angles, multi-lines, rectangles and polygons). Several manual and semi-interactive segmentation methods based on thresholding or edge-detection allow detection of objects. Object analysis and classification is possible using 18 characteristic parameters (area, perimeter, roundness, mean density, centroid etc.). Both spatial and density calibrations can be performed, thus the calculated values are obtained in calibrated units. A spreadsheet window displays resulting values that can be easily transferred to other programs via clipboard, saved or printed.

Ellipse is supplied with Intel IPP library which adds many basic image processing operations (arithmetical, logical, mathematical morphology, filters, geometrical transformations, image statistics etc.).

Program has an open architecture design which provides extensibility via a variety of plug-in modules. Ellipse serves as an environment for specific plug-in modules.

System requirements

Disclaimer of warranty

THIS SOFTWARE AND MANUAL ARE SOLD "AS IS" AND WITHOUT WARRANTIES AS TO PERFORMANCE OR MERCHANTABILITY.

THIS SOFTWARE IS SOLD WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES WHATSOEVER. BECAUSE OF THE DIVERSITY OF CONDITIONS AND HARDWARE UNDER WHICH THIS SOFTWARE MAY BE USED, NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED. THE USER IS ADVISED TO TEST THE SOFTWARE THOROUGHLY BEFORE RELYING ON IT. THE USER MUST ASSUME THE ENTIRE RISK OF USING THE SOFTWARE. ANY LIABILITY OF SELLER OR MANUFACTURER WILL BE LIMITED EXCLUSIVELY TO PRODUCT REPLACEMENT OR REFUND OF THE PURCHASING PRICE.

This software exploits free external FreeImage library (see FreeImage copyright) and licensed library IPP (Intel® Integrated Performance Primitives).

References

  1. Russ, J.: The Image Processing Handbook, 2nd ed., CRC Press, 1995.
  2.  FreeImage home page )
  3. Intel IPP software home page

 

BASIC PRINCIPLES

Images, Stacks and Windows

Ellipse is a program for analysis and processing of images, therefore image is the basic data structure. Starting Ellipse, an empty main window is opened expecting that the first step is data input. There are three ways how to obtain image data:

Multiple document interface (MDI) allows displaying multiple images on the monitor at the same time. Each image window can be moved, scrolled, zoomed as it is usual in Windows applications. One of the displayed images can be set as active .

The important feature of Ellipse is the possibility to organize images of the same size (representing a spatial or temporal sequence) into stacks. A special stack slider allows browsing through the stack. The position of the slider’s thumb determines the image displayed in the image window. In some special modules, the stack slider offers the possibility to set an active interval. Single or multiple images can be loaded from image files or from a directory containing multiple files.

Various file formats are supported using external FreeImage library.

Stack slider

It is a vertical slider control attached to the right side of the image window and its size usually corresponds to image height. It has two modes of operation – narrow and wide. Mode can be changed any time by clicking the top yellow part of the slider.

Supported Image Formats

The basic image format exploited in Windows operating system is BMP, representing “device independent bitmap” [1]. Image loading and saving in this format are possible without any external libraries. However, using of external FreeImage library, Ellipse supports following frequently used image formats:

The current list of formats supported by this library is still growing and the user can update this library himself by simple replacing of old freeimage.dll file with the new one obtained on FreeImage web site. Using and updating of FreeImage is free assuming the user respects copyright rules

FreeImage copyright

THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

IN NO EVENT SHALL FLORIS VAN DEN BERG BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

Objects

Ellipse is suitable also for object analysis. This analysis assumes the image is segmented, i.e. objects of interest are separated from the background. There exist a lot of segmentation algorithms; some of them are implemented as Ellipse plug-in modules (e.g. thresholding). A manual form of segmentation is outlining contours by free hand. Segmented objects can be edited in EDIT mode. The result of segmentation algorithms is a set of polygons representing the contours of detected objects displayed in the image. If images are organized into a stack, objects are organized into corresponding levels. If the Results Window is opened, objects on the current level are automatically analyzed and calculated values are displayed immediately.

Classes of objects

Objects can be classified into different classes. The simplest is manual classification – class (name) is given when object was “born” (drawn). The current class name is displayed at the toolbar and all created objects contain this class identification. As a default, only “Class 0” is available and all drawn objects have this class ID. The number of classes can be extended in Settings and then more classes are available in the combo box on the toolbar. Every object can be reclassified by clicking its label by right mouse button in Edit mode and selecting Set class. Then either a new class or the existing one can be set.

Drawing and Editing Tools

Ellipse offers various tools for non-destructive drawing into the image window (overlay). We can imagine overlay as a transparency sheet over photography – we can draw on it without destruction of image content. Each image of the stack has its own overlay tied with the image in any position (zoom, scroll, stack browsing).

In the Edit mode the objects can be moved, re-shaped or deleted using either the menu command Edit| Objects or the corresponding tool bar icon. In this mode, each object is displayed with its unique label, an object can be activated by clicking on its label and only one object can be activated simultaneously. One object can be”active” by clicking its label. An active object or its part can be modified, moved, removed, copied or created either by menu commands or by drag and drop technique (see details concerning Edit mode).

Active stack interval, active window, active object, active vertex

Ellipse is based on MDI architecture, which permits displaying of several windows containing images, but only one window can be activated simultaneously by clicking its title bar. Consequently, menu commands are related to the selected “active” image. The same principle was applied to the other structures exploited in Ellipse.

Operations with two images

Some operations (e.g. arithmetical addition) require two images. A mechanism how to define a pair of images was inspired by summing in memory of a simple calculator. Save the first operand into memory, enter a value of the second operand and then press button M+. The result of operation will be in the memory. We define operands by similar manner:

  1. Select an image by clicking it – this will make it active. Then use menu function “Set 2nd image” (or the corresponding button on the toolbar). This will keep the image in the “memory”. Text “(2-nd image)” is automatically added to the name of image on the window bar.
  2. Click another image (operand) – this will make it active. Then call two-operands function from the menu (e.g. Add). Every pixel of the resulting image is a sum of values from 2-nd image and the active one. Most of two-operand functions have option “Inplace”. If true, then the resulting image replaces the active one, otherwise it is created in a new image window.

Calibration

We assume that digital images reflect real images. If we have an etalon of a known length or density, the calibration can be performed. Then, the position and the color of each pixel expresses spatial or density values in real units. Ellipse can perform both spatial calibration and density calibration.

Tool Bar and Status Bar

The buttons on the Tool Bar serve for quick start of frequently used menu commands. The Status Bar (located at the bottom of the main window) is a proper place where the temporary information can be displayed. Both bars can be hidden by menu commands (View | Toolbar and View | Status Bar.

If the cursor is over a Tool Bar button, its function is explained by a short message on the Status Bar. If the cursor is moving over the Image Window, Status Bar displays its coordinates and color (either RGB triple or gray level – depending on the type of image). If the cursor is moving over the Results Window, the position of the current cell in the Table is shown. If a plug-in module is opened, this module manages the content of both bars.

Results Window

Results Window can be opened by menu command (File | New Results Window) assuming some Image Window is active. Thus Results Window and Image Window are tied to each other assuming that only results from the ”parents” Image Window can be processed in the child’s Results Window. Only one Results Window can be opened for one image, it collects the results of analysis from both Ellipse and plug-in modules Results Window contains a table in a spreadsheet form supporting data export to the file (File | Save As), via clipboard (Edit | Copy), or printing (File | Print).

The important feature of Results Window is its interactivity. Each change of objects is immediately reflected in the corresponding row of the Results Window. For instance, drawing a new rectangle causes addition of a new row to the Results Window. If a vertex of an object is shifted, parameters of the edited object are re-calculated and immediately displayed in the corresponding row in real-time. Of course, there are situations where real-time calculations are time consuming or not desirable. In this case, drawing and editing of objects should be performed while the Results Window is closed, subsequent opening will perform the calculation and display of results on demand. The font size can be set by Settings to match the screen resolution.

IPP Functions

Starting from version 2.06, Ellipse is supplied with built-in licensed library IPP (Intel® Integrated Performance Primitives). This library was implemented into the Ellipse which thus offers a lot of  of additional, optimized functions covering frequently-used fundamental algorithms. These low-level functions can be called directly from Ellipse menu. However, taking into account the extremely high number of IPP functions, they are organized into groups, have their own control dialog for selection of an individual function. This help contains only a list of IPP functions  with a short description. Fortunately, most of functions names given by Intel are self-explanatory. The original Intel documentation is recommended as an option for a detailed study :from Intel IPP software web site [3].

Some IPP functions are operations on two images. Following controls define the mode of operation of most of IPP functions.

Plug-in modules

Although Ellipse itself allows analysis of detected objects, external plug-in modules can extend its capabilities. Ellipse is a host program responsible for image reading, saving, displaying, and drawing of images and overlays etc. On the other side, external modules implement specific methods of analysis that are too special to be included in the basic environment. Two types of plug-in modules are currently supported: Ellipse plug-ins and Photoshop plug-ins.

Ellipse plug-in is an extension of the basic program in the form of dynamically linked library (DLL) attached to Ellipse on request. The number of modules from various areas (segmentation, stereology, analysis, filtering, measurement etc.) is still growing. A novel approach to the plug-ins development represents “Ellipse Plug-in Wizard” which is available for developers on request. Wizard generates the basic plug-in code and a developer can add his own code. This approach makes plug-in development easy for everyone who is familiar with the basics of Visual C++ programming.

Photoshop plug-in exploits a standard communication interface described in http://partners.adobe.com/. A broad range of Photoshop plug-in modules have already been developed by various producers, they are commercially available (some of them are free). The most comprehensive set of Photoshop modules for image processing is probably “Image Processing Toolkit – IPTK4” developed by Chris Russ covering practically the whole area of algorithms as they were described in the best-selling book of John Russ [1]. Ellipse is compatible with IPTK4.

Both, Ellipse and Photoshop plug-in modules can be started from hierarchically organized submenu sorted into different categories. An alternative approach represents Browse and Run mode, where a module can be selected by OpenFile dialog. The most frequently used plug-in modules can be set as default, their icons appear on the Toolbar, which allows their quick start (Run default).

Help

Ellipse is supplied with a help file “Ellipse.chm” Although this help system is not context sensitive as it was in previous versions, it is able to recognize which dialog is active and open only a corresponding page (e.g. if “Calibrate Density” dialog is opened, then calling help menu from command or pressing F1 opens the page related to density calibration). Each plug-in module has its own help file. A book dedicated to programmers of modules is available on the Ellipse.web site http://www.ellipse.sk in Slovak language.

 

MENUS

File | New Image(s)

This command creates a new image with manually entered parameters (Width, Height and Bits Per Pixel). The created image is black, which means that every pixel is initialized to value 0 in grayscale image or (0,0,0) in true color image. This initial value can be then changed using menu commands Image(s) | Processing IPP | Initialize | Fill Image. A dialog with various filling options appears (constant value, ramp image, Jaehne image).

File | New Results Window

If the Results Window is active, all available menu commands are related to the text in the Results Window table and not the image. If no plug-in module is open at the moment of Results Window opening, it is assumed the parameters of detected or drawn objects are calculated and displayed in corresponding rows of the table. If no objects have been detected yet, the window contains only the head (Label, Area, Perimeter...) and individual rows are filled on-line while the objects are drawn.

If the Results Window is opened along with a plug-in module then the plug-in module would controls the contents of Results Window., otherwise a default (empty) table is displayed.

Results Window has a form of a simple spreadsheet, its content can be saved into a text file (File|Save As), or printed (File|Print, File|Print Preview, File|Print Setup). The transfer to the other programs (e.g. Excel) is possible via clipboard using (Edit|Copy) command.

File | Open Image| File
File | Open Image| Multiple Files
File | Open Image| Special format

These commands allow loading of an image saved into a file, which usually represent the initial step of work with Ellipse. After loading of image data, the full Ellipse menu appears. A broad range of Image formats is supported thanks to the external library FreeImage which can be distributed free of charge assumed, the Ellipse users agree with FreeImage copyright.

Using of (Open Image | Multiple Files) command is useful if we have a series of images that differ by appended index (e.g. img_001.bmp, img_002.bmp...). The size, type and name of images (except index) must be same and they must be localized in the same directory. Clicking any file from such series in the File Open Dialog causes the reading of whole series in the alphabetical order. Another possibility is to select files by the manner obvious in Windows Explorer (clicking the file name while CTRL or SHIFT keys are pressed). This last method allows user-defined order of images in a stack. There are some special image formats that can be opened only with (Open Image | Special Formats) for instance, if a file contains the whole stack of images (e.g. Biorad *.pic).

Recently opened files are displayed below the separator in the File menu as it is obvious in the other Windows programs. Thus users can quickly re-open recently opened individual images. However, this mode does not work in the case of image series.

File | Acquisition | Select source
File | Acquisition | Acquire
File | Acquisition | Acquire (No UI)

Acquisition allows loading of images from the input hardware device assuming its compatibility with TWAIN interface standard. Most scanners and a lot of web cameras are TWAIN compatible.

File | Close
File | Save
File | Save As

The function of these commands is typical in Windows programs. They close and save an active document. Individual images can be saved in all formats supported by FreeImage. Results Window is saved as a text file (*.txt) that can be easily imported by another programs (Excel).

File | Load Objects
File | Save Objects

These complementary functions are proper for the permanent storage of drawn objects. Each object is saved as one row in a text file containing the coordinates of vertices, label and the type of objects. This information allows complete retrieving of drawings.

File | Print

Function of these commands is self-explanatory. If the active window displays an image, then command Print causes printing of image on the default printer. If the active window is the Results Window, then its content is printed in the form of a table. If the size of the table exceeds the paper size either horizontally, or vertically, then multiple pages are used. Default printer or its properties can be changed by Print Setup command. Print Preview allows the user to show the result of printing on the screen.

File | Exit

This function exits Ellipse

Edit | Undo

This function is quite obvious in most Windows applications. In Ellipse (Edit mode) it restores the positions of polygons or its vertices. Let us assume the situation where the user wants to move vertex of an active polygon, but he accidentally clicks the side of polygon instead of its vertex (which automatically adds a new vertex). Then the user can correct the last operation by Undo command from menu, which is equivalent to clicking the Undo button in the Tool Bar, or pressing Ctrl Z.

Edit | Copy
Edit | Cut
Edit | Paste

These commands are responsible for the transfer of data via clipboard. Currently, three types of data are able to use clipboard:1) Images, 2) Result window contents, 3) Objects.

  1. If the active window is an Image Window, then the image is saved in the clipboard. Another graphic package (e.g. Paint) can restore the image from clipboard using its own Paste command).
  2. If the active window is a Results Window, then the selected cells are transferred into the clipboard where they are available for text-oriented programs like text processors or spreadsheets (e.g. Excel).
  3. Objects can be transferred among individual levels of stack via clipboard. An active object on some level can be copied into clipboard (Copy or Cut) and Pasted on any other level. If no object is active then all objects on the given level are copied.

Edit | Objects

Ellipse contains a set of Drawing Tools for painting of various objects as an overlay of the image. The correction of already drawn objects is possible in Edit mode, started by menu item, or by the corresponding button on the Tool Bar.

In the Edit mode, each object is displayed together with its label (positive integer number). Two objects cannot have the same label. Initially, label values correspond to the order of objects drawing. If some objects are removed, their labels are not assigned to other objects. Only the user can manually change label to the other (not exploited yet) value using the context menu (item Relabel).

Clicking of the label has the similar ”activating” effect as the clicking of the title bar of a window. E.g. polygonal object is activated by clicking into its interior. The active object is a target of commands entered from menu, right mouse button context menu, tool bar etc. However, the most obvious way of work in edit mode is a drag and drop technique that allows catching, moving, adding or removing objects, or any it’s vertex. The overview of edit functions follows:

  1. Move object. Drag the label of active object by left mouse button and drop it into the new position
  2. Delete object. Click the label of the active polygon with the right mouse button. A context menu should appear, select item Delete object, object is removed. If the Results window is opened, the row corresponding to the deleted object disappears, too.
  3. Relabel object. Click the label of the active polygon with the right mouse button. A context menu should appear, select item Relabel object. A simple dialog box asks the user to enter a new label value. If this value has not been exploited yet, the object is re-labeled.
  4. Move point. Drag the point of active object by left mouse button and drop it in the new position. ”Point” is any vertex of polygon, rectangle, line etc. ”Point” in this meaning is not an object drawn by POINT drawing tool, because such object is actually circular polygon with 8 vertices (see part POINT in Drawing Tools. )
  5. Insert point. Move cursor over the active object, cursor changes its shape in the vicinity of its side and then click using left mouse button. A new vertex is inserted into the clicked side. The same effect can be attained via context menu (item Insert point). Inserting of point into object with a defined number of points (lines, angles, etc) is not allowed.
  6. Delete point. Start context menu with the right mouse button in the vicinity of the desired point. Select item Delete point. This operation is disabled, if it would change the type of the object (e.g. from 3-points polygon to 2 points line).
  7. Copy Up. This function copies selected object one level up in stack of images. It is actually a faster version of the procedure when user copies object into the clipboard (using Copy menu item) and Paste it menu item) and Paste it one level up.

View | Tool Bar
View | Status Bar

Although Tool Bar and Status Bar are very useful parts of standard Windows environment, sometimes we would prefer large Frame window with hidden bars. View menu directory allows Show/Hide both bars. The right side of Status Bar displays coordinates of cursor and the color (or gray value) of corresponding pixel.

Image | Draw | Point (Line, Angle, Multi-line, Rectangle, Polygon, Freehand)

Objects of various geometrical shapes can be drawn using special Drawing Tools. All these menu items have corresponding buttons on the Tool Bar, which speeds-up the selection. Two modes of drawing are available: auto-release and continuous. The mode can be selected in Settings | Drawing.

Auto-release mode is a default one. Drawing starts with a selection of the drawing tool (e.g. freehand) pushing the corresponding button on the Toolbar, which activates the specified tracker. Its activation is indicated by the change of the cursor, the temporary object shape is drawn by ”rubber band” outlines. Tracker captures the clicks until the termination criterion individual for each tracker is fulfilled (e.g. double click in polygon entered by vertices). Then pushed button on the Toolbar is automatically released.

Continous mode does not require selection of a tool before every drawing. Once a button with drawing tool is pressed, it remains in pushed position until it is manually released. This mode is proper for repeated drawing of objects of the same type (e. g. points are drawn on each click until the button is released by the operator). Here is an overview of drawing tools:

Image | Calibration | Density

A lot of images result from a non-linear transformation of some physical parameter value into a pixel gray value. Fig. 1 shows an example where the density (gray level) of pixels represents the ”depth” (in nanometers) of real topology obtained by an ”atomic-force-microscope”. The calibration strike on the right side of Fig. 1 is the etalon used for the density calibration.

The Density Calibration Dialog manages the process of calibration. As a first step, the button Measure is pressed followed by the determination of the sequence of areas of interest (AOI) of known density. Each ”AOI” can be drawn by a drawing tool offered by a Tool Bar (Point, Rectangle, Polygon, Freehand). The Point drawing tool is the fastest one where circular AOI of constant diameter is entered by a simple click. The diameter can be changed before, during or after the drawing by (Settings | Drawings | Points Neighborhood). Various tools can be mixed while drawing. If the reasonable amount of AOIs is drawn, their evaluation follows (press button EVALUATE). Then the user should enter the values in real units (e.g. nm) corresponding to individual AOIs. The MEASURE and EVALUATE stages can be repeated if necessary. The APPLY FIT button causes that all entered pairs Xi = (density, value) pairs are fitted by a proper function (linear, exponential, 2nd degree polynomial, logarithmic). The resulting calibration curve is used in subsequent calculations to transform values from density to real physical units.

Buttons SAVE and LOAD allows saving of the calibration constant in a file and retrieved for later measurements. SET AS DEFAULT write the value of calibration constant into the register of operating system and this value is automatically applied in all measurements (also after the restart of computer). Therefore the calibration constant is always displayed in Result Window.

Image | Calibration | Distance

Distance calibration transforms distance values in pixels to real units. If the correspondence between pixels and real units is known apriori, it can be directly written into the Distance Calibration Dialog (e.g. 100 pixels = 250 nm). Otherwise, the distance calibration requires to display an etalon (ruler) of known real size on the image (see Fig. 1 where image represents dimension 2x2 micrometers). Then the operator presses button Measure and draws a line between calibration marks on the etalon and enters real values and units. All length measurements are then expressed in real units instead of pixels.

If a stack of images is calibrated instead of a single image, then also the distance between levels is required in the Calibration Dialog (calibration in z-direction).

Buttons SAVE and LOAD allows saving of the calibration constant in a file and retrieved for later measurements. SET AS DEFAULT write the value of calibration constant into the register of operating system and this value is automatically applied in all measurements (also after the restart of computer). Therefore the calibration constant is always displayed in Result Window.

Fig.1.

Image of DNA plasmids is shown on Fig. 1. This image was captured by Atomic Force Microscope and kindly offered by Prof. G. Dietler, Lausane University, Switzerland.

Image | Conversion | Convert to 8-bits (grayscale)
Image | Conversion | Convert to 8-bits (color palette)
Image | Conversion | Convert to 16-bits (5 bits for RGB)
Image | Conversion | Convert to 24-bits (truecolor)
Image | Conversion | Convert to 32-bits (truecolor + alpha)


A very simplified rule for image representation uses 8-bits representation for grayscale images and 24 bits for “true” color ones (8 bits for each RGB component). 32 bit images are true color images with additional alpha channel containing e.g. binary mask or information about transparency. However, truecolor images look grayscale if R=G=B. On the other hand, there are colored images that have (similarly as grayscale) 8-bit representation and colors are given by palette. Some operations (e.g. thresholding which requires grayscale) are specific for a given image type requires conversion. Exploitation of 16 bit images (5 bits for RGB) is currently not recommended, however Ellipse contains this option for the sake of compatibility with some older image formats.

Image | Color Channels | Get Red Channel
Image | Color Channels | Get Green Channel
Image | Color Channels | Get Blue Channel
Image | Color Channels | Set Red Channel
Image | Color Channels | Set Green Channel
Image | Color Channels | Set Blue Channel

“True color” RGB image can be split into three individual 8-bit images each representing one color channel. The function of “” is self-explanatory.

On the other hand, we can merge three 8-bit images (each representing a color channel) and create 24-bits true color image. As a first step create a new empty 24-bit image of the same size as channels. We can exploit File | New Image command or take one channel and convert it to 24 bit image, then set the remaining two channels. Technically, merging is an operation between 2 images, therefore we have to define an 8-bit image (channel) as 2-nd image. Then make 24-bit image active and use corresponding “Set ... Channel” command.

Image | Processing (IPP)
Image | Statistics (IPP)

These menu commands make available a lot of low-level image processing functions contained in the licensed library Intel IPP (Intel® Integrated Performance Primitives). Functions are organized into the following groups:

The list of all functions with a short description follows is available here.

Image | Overlay

““Overlay” acts like a transparency sheet over a photography. Drawn objects look like a part of image but they can be combined in layers and removed if necessary (non destructive drawing). However, there are situations when drawn object should be the permanent part of the image (e.g. for documentation purposes). “Overlay” command causes that pixels of image are replaced by overlay pixels (destructive drawing). There is no way to remove overlay back from image.

Image | Selection

Let us assume active image is chosen. This command followed by the drawing of rectangle creates a new image representing the outlined subarea.

If the active document is a stack, resulting selection is a subvolume. As a first step we have to determine z-range as active interval of stack slider in wide mode. Then the user can call Selection command followed by drawing subarea representing x-range and y-range of final selection.

Image | info

This command displays following information about the active image:

Image | Set 2-nd image

For most of functions it is sufficient to define one (active) image as input. However, some functions require two images as input where 2-nd image is defined by this command.

Image | Zoom In
Image | Zoom Out

These functions are useful if a high-resolution image contains a lot of details. Zoomed image simplifies drawing and increases the precision limited by the abilities of a mouse and the human hand. These functions can be called either from menu or from Tool Bar.

Plug-in | Ellipse

This menu item selects the module, which will be launched. Modules are grouped into submenus, each submenu represents a category of algorithms (e.g. segmentation, processing, special etc.). Both the category of module as well as the name of the menu item are given by the developer and cannot be changed by the user (the name of a menu item can differ from the name of the module file).

As the category and menu item names are constant, they are loaded immediately after the Ellipse start. It can take some time, if many modules are in Plugins directory. To avoid this delay, the data can be quickly loaded from the special database file (database.txt) instead of modules themselves. Database file is localized in the Plugins directory. Initially, Ellipse checks the number of modules in Plugins directory and their total size. If both values agree with values saved in the database, all data are loaded from the database, otherwise data are loaded directly from modules and the database is updated to reflect new values.

Warning: manual deleting of file database.txt from a directory forces the generation of a new, actual database. This method can be useful in very rare situations where one module was replaced by another one having exactly the same size. (Ellipse detects disagreement between the database and the directory contents and warning message is generated).

Plug-in | Photoshop

Photoshop plug-in modules are organized into submenus according to the category similarly as Ellipse plug-ins . The mechanism of loading data either from database or directly from modules is similar, too. The only difference is that the path to Ellipse modules is predefined (Plugins), while a path to Photoshop modules is entered by Settings.

Plug-in | Browse and Run

As it was introduced in the Basic principles of Plug-in modules, Ellipse is an environment for external plug-in modules. All available Ellipse plug-ins have the form of dynamically linked library *.dll and they should be placed into ”Plugins” subdirectory of Ellipse directory (default place where this menu item start the search for DLLs). Photoshop plug-ins have extension *.8BF and they are localized in the directory given by Settings. Started module has its own dialog managing the function of program. However, drawing tools, calibration values, Results Window and a lot of other services are still provided by Ellipse. Two plug-in modules cannot be opened at the same time. Each module has its own Help file and About dialog. If some other DLL is accidentally started, Ellipse recognizes and refuses it.

Plug-in | About

This menu item displays the About Dialog. The plug-in name is found and clicked in the FileOpen Dialog, which displays the contents of Plugins subdirectory (menu item name, category, version, authors, copyright, its short description etc.).

Plug-in | Set as default

This menu item defines currently opened plug-in as a default one. The advantage of default plug-in is that its icon is placed on the Toolbar where its serves as a quick-start button. Ellipse expects the icon file “PluginName.bmp” in the same directory as module “PluginName.dll” (usually subdirectory Plug-ins). It is a responsibility of module designer to draw an icon (32 pixels wide and 15 pixels high), to save it as a bitmap file and to put it into Plug-ins directory. If the icon file is missing there, a default icon is used.

Plug-in | Run Default

This item starts the module that has been defined as default. It corresponds to the clicking of default module icon on the toolbar.

Window

Although Window menu items like New Window, Cascade, Tile, Arrange Icons belong to the standard ones, in Ellipse are inhibited to avoid possible conflicts when plug-in module manages windows. The only function available here is the possibility to select active window from the list bellow the separator (instead clicking directly the window title bar).

Settings

Most of Windows applications prefer to keep settings in standard dialogs called Property sheets (a collection of pages having only labeled tabs visible). Clicking labeled tabs causes the corresponding page will appear and all its settings in dialogs are available.

Settings | Ellipse Settings | General

Photoshop plug-ins Path edit window contains the full path to a directory where the Photoshop plug-ins are present (e.g. c:/Program Files/IPTK4). If this edit window is empty, the menu item concerning Photoshop modules is disabled. The checkbox Maximize allows setting automatically the maximal size of the opened image.

Settings | Ellipse Settings | Object Analysis

Parameters selection and their definitions were obtained from References [1], [2]. Unwanted parameters can be switched off and the resulted table will be more transparent. These changes are reflected in the Results Window after the Apply button is pressed. If some parameters are not defined for the given object (e.g. area for the line), corresponding cell in Results Window is filled by ”—”. If the system was calibrated (density resp. spatial), calibration constants are taken into account in calculations. The obligatory parameter that is always displayed and therefore is not included in the settings is the Object label. The other calculated parameters are defined as follows:

 

Settings | Ellipse Settings | Drawings

The active object is distinguished from the other ones by color. Standard Color dialog appears when pressing button Color (either for active or for inactive objects). Selected color will be applied immediately after pressing Apply or OK. The same principle is used when defining the width of pen drawing the object. The active object can be emphasized by a thick line (default values are 2 for active object and 1 for inactive ones).

The specific additional settings concerns Points. Neighborhood expresses the diameter of circles representing points. If the checkbox Transparent is set on, only the contours of drawn circles are drawn, otherwise the interior of circles is filled by the current color. There is a possibility to set the color of object labels, which means the color of label text (Foreground) as well as the color of Background of this text. This option allows increasing of the contrast of the text. Transparent background is the best choice if a text/image contrast is big enough.

Active polygon in the EDIT mode is displayed with vertices as rectangles of sizes defined by rectangle edit window. If the cursor appears in the vicinity of vertices, the closest one becomes active and changes its color. The sensitive edit window can set the maximal distance between the cursor and the active vertex. The Font size in the Result window also can be set here; the effect appears after the re-opening of Result Window.