Copyright: Phd Engineering Srl (c) 1993,1994


TRUEyesyesyesyesWinLab Helpwinlabdd/11/yy


Table of Contents

Introduction to WinLab

WinLab Menu

File Menu

Edit Menu

View Menu

Image Menu

Options Menu

Window Menu

File Formats

Selection Window

Tool bars

Palette Window

Selection Tools

Image Tools

File and Edit Tools

Histogram Window

Order Form

Licence Agreement

Netproto Server

Acknowledgement

The Author


Introduction to WinLab
WINLAB.ITW001Introduction to WinLab

WinLab is a powerful Image Processing framework able to satisfy the needs of both inexperienced and advanced users. Besides the opportunity of managing a number of different image formats, including the JPEG compression standard, WinLab offers a wide choice of advanced processing tools, as a result of the strong experience gained by the system engineers of the PhD Engineering in several years of R&D activity in this field.

The main features that make the difference between WinLab and other similar software products available on the market can be summarised in the following points:

Speed

User-friendlyness

Technology

Graphic Interface

Folders

Network Support


1
the real-time aspects have been carefully taken into account during the implementation of every WinLab module, from the access to image data to the more complex processing tools.


2
many instruments have been introduced to improve the accessibility to the system functionalities even to less experienced users


3
the processing tools of WinLab are the best of the current state of the art in terms of speed/performances


4
the interface of WinLab was designed in order to be easy-to-use, fully configurable, ergonomic, compliant to windows standard.


5
the introduction of image folders gives the possibility to easily manage and access collections of images in different formats and in different places by an immediate and transparent interface.


network support
WinLab has a built-in network support (any NETBIOS compatible layer) for folders, which enables to share images over a LAN in a transparent way, moreover you can send and receive an image or a folder through the use of the netproto.exe DDE server which is a window socket compliant application.


WinLab Menu

The top Menu of WinLab contains 6 entries:

File	Input/Output management (load, save, print commands)

Edit	Clipboard management (cut & paste commands)

View	Graphical interface configuration (tool bars setting)

Image	Image processing tools (manipulation, filtering, feature extraction)

Options	Interface and tools parameter settings

Window	Window management (tile, select, close operations)


File
File Menu

By selecting the commands contained in this menu it is possible to perform the following operations, related to image file creation, opening, saving, printing:

New	Creates a new image file or a new folder of given characteristics

Open	Opens an existing image file or folder

Save	Saves the currently selected image or folder with the same name

Save As New	Saves the currently selected image or folder with the a new name

Remote Send To	Allow to send the current image or folder to a remote host

Printer Setup	Calls a procedure for setting up the default Printer driver

Change Printer	Changes the default printer driver

Print Image	Sends the current image to the printer

Quit	Exits WinLab

To get more information on a command, click on the desired topic


Edit Menu

By selecting the commands contained in this menu it is possible to perform several cut&paste operations on the current image or selection.

Undo	Cancels the last operation applied to an image

Cut	Deletes the current selection, copying it in the clipboard

Erase	Deletes the current selection without copying it in the clipboard

Copy	Copies the current selection in the clipboard without deleting it

Shrink	Creates a new image of the dimension of the current selection

Paste	Puts the content of the clipboard into a new selection or document

To get more information on a command, click on the desired topic


View Menu

This menu contains some commands to configure the visual aspect of the WinLab graphical interface during a working session.

Palette	Shows/Hides the currently installed colour palette

Selection Tools	Shows/Hides the button-style selection tools

Image Tools	Shows/Hides the button-style image manipulation tools

To get more information on a command, click on the desired topic


Image Menu

This menu contains a lot of image processing tools, including geometrical manipulation (resizing, rotating, mirroring), zooming, color conversion, and image processing (filtering, contour extraction, segmentation, and so on).

Info	Displays some textual information on the current image

Duplicate	Creates a new image window exactly equal to the current

Resize	Changes the (x,y) dimension of an image (or selection)

Rotate	Performs a rotation on an image or a selection

Flip (H/V)	Mirrors (horizontal or vertical) the current image (or selection)

Negative	Calculates the negative of an image (or selection)

Zoom (I/O)	Zooms in or out the current image by a given factor

Normal View	Clears every previous zoom command

Convert to	Performs all color/bw conversions on the current image

Change Depth	Quantizes (over or under) the pixels of the current image

Split RGB Channels As	Create new images from the channels of the selected color space

Combine RGB Channels From	Creates a full RGB image from channels of the selected color space

Filtering	Accesses a sub-menu containing the image filtering algorithms

Special	Accesses a sub-menu containing other image processing algorithms

Equalization	Accesses a sub-menu to performs some image processing algorithms based on histogram

Compute	Accesses a sub-menu to performs mathematical operations involving two or more images (add, compose, ...)

To get more information on a command, click on the desired topic


Options Menu

Allows the user to customise the default settings of WinLab, for what concerns image handling, input/output options, color palette management, memory usage, network interface etc..

Use memory DIB	Set/Reset memory storage of device independent bitmaps (waste memory if set)

Disable Undo Buffers	Set/Reset memory storage for undo buffers (waste memory if set)

Adjust palette on WinLab	Set/Reset palette changes adjustment among displayed images

Adjust palette on external	Set/Reset foreign applications palette changes adjustment

Display Dithering	Set the default dithering method for displaying true color images

Display RGB Conversion	Set the default color quantization scheme for displaying true color images

Clipboard Format	Set the format for clipboard storage of image data

Toolbars	Sub Menu for toolbars settings

Remote send/receive enabled	Enable to remotely send or receive documents trough the  use of the network DDE server netproto

JPEG Image Format	Set the parameters for JPEG I/O

TIFF Image Format	Set the parameters for TIFF I/O

To get more information on a command, click on the desired topic


WindowWindow management (tile, select, close operations)
Window Menu

The Window Menu contains the classical commands of a Windows MDI interface. Besides the first section of commands, an additional section shows all the opened windows (image files and folders), and allows to select the active window by directly clicking on the corresponding name.

Tile	Organises the non-iconized windows on the MDI child windows as tiles (horizontally or vertically)

Cascade	Organises the non-iconized windows on the MDI child windows as a cascade

Arrange Icons	Organises the iconized windows on the MDI child windows

Close Active	Closes the currently active window

Close All	Closes all the iconized and non-iconized windows

At the end of this menu there is a list of all the currently open documents, selecting such items will cause the selected document to become the active one

To get more information on a command, click on the desired topic


New

The command New (Menu File) can be used to creates a new WinLab folder or a new image file of given characteristics. It displays a choice between:

Folder: an empty image folder is immediately created with the temporary name of "noname.wfl". If the folder is used and never saved after the creation, the user is prompted on quitting for a new filename.

Image: a dialog box is displayed, in which the required parameters for the creation of the new image can be defined. The values to be specified are the following:

Color format 	RGB (true color image, 24 bit per pixel)

Grayscale (256 levels of gray image, 8 bit per pixel)

Colormap (colormapped image, 16 or 256 colors)

Colors	Number of colors (for colormapped images)

Xdim	horizontal dimension (in pels)

Ydim	vertical dimension (in pels)

Colors	Displays a dialog for the selection of the background color (for true colors images).

You can create a new document using the [image] button from the tool bar


Open

The command Open (Menu File) can be used to load an existing WinLab folder or image file. In both cases it displays a dialog box for the browsing of the file.

Folder: It is possible to select the disk drive, the directory and a filename. In the case of network connected working stations (with MS Windows for WorkGroups installed) a "Net" button is also present, allowing the browsing of a remote site.

The default extension is ".wfl" (WinLab Folder) but it is not mandatory. The only available file format is the custom WinLab folder.

Image: It is possible to select the disk drive, the directory and one or more filenames. In the case of network connected working stations (with MS Windows for WorkGroups installed) a "Net" button is also present, allowing the browsing of a remote site.

By default, the standard extensions of all the available file formats are displayed (.tif, .gif, .jpg, and so on), so allowing a rapid browsing of the archive by mouse selection only. It is possible to highlight one or more consecutive (keeping pressed the shift key) or non-consecutive (keeping pressed the Ctrl key) files: when the OK button is clicked, all the images are opened in sequence.

To see a description of the available image formats and of the related read/write parameters click here  IMAGE FORMATS

You can open a new document using the [image] button from the tool bar


Save

The command Save (Menu File) performs an instant saving of the currently selected image or folder, without prompting for a file name; in the case of generated images (e.g., images created with the duplicate command) the automatic generated filename is used.

You can save the current document using the [image] button from the tool bar


Save As New

The command Save As New (Menu File) can be used to save the currently selected WinLab folder or image into a file. In both cases it displays a dialog box for the introduction of the filename.

Folder: It is possible to select the disk drive, the directory and the filename. In the case of network connected working stations (with MS Windows for WorkGroups installed) a "Net" button is also present, allowing the saving on a remote site (if permitted). The name can be either selected among the listed files or typed: in both cases, if the file already exists the user is prompted for a confirmation before overwriting the folder.

The default extension is ".wfl" (WinLab Folder) but it is not mandatory. The only available file format is the custom WinLab folder.

Image: It is possible to select the disk drive, the directory and the filename. In the case of network connected working stations (with MS Windows for WorkGroups installed) a "Net" button is also present, allowing the the saving on a remote site (if permitted). The name can be either selected among the listed files or typed: in both cases, if the file already exists the user is prompted for a confirmation before overwriting the image.

The format in which to save the image must be selected in the listbox, and the correspondent standard extension(s) is visualized in the filename box.

To see a description of the available image formats and of the related read/write parameters click here  IMAGE FORMATS


Printer Setup

The command Printer Setup (Menu File) activates the Windows standard dialog box for the set up of the current default printer. The options available in the dialog box change with the installed printer driver, but include in general: resolution, paper size and orientation, paper source and number of copies.


Change Printer

The command Change Printer (Menu File) activates the Windows standard dialog box for the choice and setting of the default and specific printer to which the images are sent. Changing the default printer affects all the Windows applications, while setting the specific printer has effect only for WinLab printouts. The Options button activates a number of printer-dependent settings sub-menu.


Print Image

The command Print Image (Menu File) sends the currently selected image to the default (or specific) printer. A dialog box is displayed, that allows to specify the following parameters:

Number of copies	Allows to specify the number of equal pages to be printed

Fit page	If checked, resizes the picture in order to fit the selected page format

Center Horizontal	If checked, centers the printed picture horizontally on the page

Center Vertical	If checked, centers the printed picture vertically on the page

To print the active image you can use the button  [image] from the tool bar.


Quit

The command Quit (Menu File) terminates the current session of WinLab. It is equivalent to double-click on the top-left button of the WinLab window.

If some image or folder has been create or modified and the changes was not saved, the user is prompted for each of them.


Undo

The Undo command (Menu Edit) allows the user to cancel the last operation made on an image. After the execution of the Undo command, the situation prior to the last action is completely restored: this can be useful to invalidate the results of a wrong operation or to test some different processing tools without damaging the image.

Currently, WinLab provides only a one-level Undo command; it is therefore impossible to cancel the effects of two consecutive operations, but separated undo buffers for each image are supported.

You can perform the undo operation on the current image using the [image] button from the tool bar


Cut

The Cut command (Menu Edit) erases the current selection, and puts the corresponding area of the picture in the clipboard for successive use (Paste command) using the current Clipborad Format as specified in the Options.. The previous clipboard content is lost.

The same action can be performed by applying in cascade the commands Copy and Erase.

This command can be activeted by the shortkey Shift+Del.

You can perform the cut command on the current image/selection using the [image] button from the tool bar


EraseDeletes the current selection without copying it in the clipboard
Erase

The Erase command (Menu Edit) erases the portion of the image contained in the current selection, without putting the corresponding area of the picture in the clipboard.

This command can be activated by the shortkey Del.


Copy

The Copy command (Menu Edit) copies the current selection in the clipboard for successive use (Paste command) using the current Clipborad Format as specified in the Options. The previous clipboard content is lost.

This command can be activated by the shortkey Ctrl+Ins.

You can perform the copy command on the current image/selection using the [image] button from the tool bar


Shrink
Shrink to Selection

The Shrink to Selection command (Menu Edit) generates an image of lower/equal size, containing only the currently selected area. If the selection is not rectangular, the new image has a dimension equal to the smallest including rectangle.

Since this command does not generate a new image, the complete image is lost. To create a new window, use in cascade the commands Copy and Paste (with the option "as new image").


Paste

The Paste command (Menu Edit) copies the content of the clipboard in the currently selected image or in a new image, depending on the chosen option. Three possibilities are provided:

As New Image	A new image is created containing the data stored in the clipboard

As New Selection	The clipboard content is put as a new selection in the active image 	window, where can be positioned and pasted, the current selection if any is deleted.

Inside Selection	The clipboard content is stretched in order to fit the current selection in 	the active image window.

When pasting from clipboard into an image or selection, WinLab automatically handles the conversion of color format and bit per pixel to match that of the current image/selection.

You can perform the paste as new document command using the [image] button from the tool bar

An alternative way to paste a selection from one image into another is to use the button [image] from the tool bar, see also the Selection Window


Palette

The Palette command (Menu View) enables/disables the visualisation of the Palette Window. When enabled, a check symbol  is set near the menu item.


Selection Tools

The Selection Tools command (Menu View) enables/disables the visualisation of the toolbar containing the instruments for the definition of image selections. When enabled, a check symbol  is set near the menu item.


Image Tools

The Image Tools command (Menu View) enables/disables the visualisation of the toolbar containing the instruments for the geometrical manipulation of images and selections. When enabled, a check symbol  is set near the menu item.


Information on Current Image

The Info command (Menu Image) gives some informations on the currently selected image:

Name	Image name (name of the file in which it is stored or generated name)

Format	Image format (BMP, TIF, ...)

Height	Number of image rows (vertical dimension in pixels)

Width	Number of image columns (horizontal dimension in pixels)

Depth	Number of bits for each pixel (e.g., 256 levels of gray = 8 bpp depth)

Xres/Yres	Resolution at which the image was acquired (measured in dots per inch)

Type	Full color/black&white/colormapped image

Modified	Shows if an image needs or not to be saved

You can perform the info command using the [image] button from the tool bar


Duplicate

The Duplicate command (Menu Image) generates a new image exactly equal to the currently selected one.

You can perform the duplicate command using the [image] button from the tool bar


Resize

The Resize command (Menu Image) performs a resampling of the current image or the active selection. A dialog box is displayed, that shows the current dimension and resolution of the image (or selection) and gives the possibility to specify the desired values:

Original Dimension	Shows the initial horizontal and vertical size of the image to be resized

Aspect Ratio	Is the ratio between the X and Y size (horiz./vert.) of the original image

Fixed	If the box is checked the parameters are automatic adjusted to maintain 	unchanged the original aspect ratio (image resized but not deformed).

Dot per Inch	Allows to modify the setting of the acquisition resolution. It has not a	direct effect on the image, but affects the printing parameters.

New Dimensions	Allows to specify the desired horizontal and vertical size of the image. 	If the Aspect Ratio is fixed (box checked) the two parameters are inter-	dependent.

If the resize command is applied to a selection, the original size correspond to the X,Y dimensions of the bounding rectangle. After resizing the contour of the selection is resized by the same factor and remains active for successive operations. The resized selection maintains the position of the left-top corner of the bounding rectangle.

You can perform the resize command using the [image] button from the tool bar


Rotate

The Rotate command (Menu Image) performs a rotation of the current image or the active selection. A dialog box is displayed, asking for a rotation angle (in degrees): positive values produce clockwise rotations, negative values counter-clockwise rotations.

If the rotate command is applied to an image, the dimension of the resulting image is such as to contain all the rotated picture (in general larger); the points not belonging to the picture are set to the background color.

If the rotate command is applied to a selection, the image maintains the size unchanged. After the rotation, the contour of the selection is rotated by the same angle and remains active for successive operations. The rotation center is the centroid of the bounding rectangle.

You can perform the rotate command using the [image] button from the tool bar


Flip
Flip Horizontal - Flip Vertical

The Flip Horizontal and Flip Vertical commands (Menu Image) perform an horizontal or vertical mirroring of the image (or active selection). This operation does not introduce any variation in the size of the image or on the dimension of the bounding rectangle of the selection.

If the flip command is applied to a selection, the contour of the selection is equally mirrored and remains active for successive operations. The axis for the flip operation is the central axis of the bounding rectangle.

You can perform the flip horizontal or vertical commands using the [image] [image]  buttons from the tool bar


Negative

The Negative command (Menu Image) produces a photographic negative of the current image or selection. The value of each pixel is changed to its complementary, i.e.:

pixel (x,y) = max_value - pixel (x,y)

where max_value is computed on the basis of image characteristics (e.g., for a 8 bpp gray level image, the maximum intensity value is 255).

You can perform the negative commands using the [image] buttons from the tool bar


Zoom
Zoom In/Out and Normal View

The Zoom in and Zoom out commands (Menu Image) allow the user to visualize and work on the currently selected image in an enlarged or reduced way. After choosing the zoom commands a sub-menu is visualized where the zoom factor can be specified (by entire numbers): a factor 1:N means that the image would be represented on screen at a dimension N times larger or shorter than the original.

The Normal View (Menu Image) command can be used to restore the normal size visualization of the image.

The Zoom In, Zoom Out and Normal View commands do not modify at all the content of the image to which they are applied.

You can perform the zoom  commands only if a selection is defined using the [image] [image] buttons from the tool bar


Convert to

The Convert To sub menu (Menu Image) allows to convert the color format of the current image:

There are the following menu entries:

Gray Scale	Converts the image to gray scale 256 levels (8 bpp)

Black and White	Converts the image to 2 levels black and white (1 bpp) using Floyd-Steinberg

Palette ...	Converts the image to a colormapped image (8 bpp)

RGB Full color 	Converts the image to a full color RGB image  (24 bpp)

The selection if any is equally converted


Change Depth

The Change Depth sub menu (Menu Image) allows to change the number of bit per pixel for the active image, this is useful for example for applying filters on a black and white image or to save an image in a file format wich do not supports a given number of bit per pixel etc.

You can change the number of bit per pixel to 1,4,8,24, when converting to 1 bit per pixel a gray scale image WinLab perform a thresholding to obtain 2 levels.

N.B. The selection if any is deleted (use copy paste to preserve it or use the Selection Window)


Split RGB
Split RGB Channels As

The Split RGB Channels sub menu (Menu Image) allows to create new images from the channels of the selected color space for the current image (only for full color RGB images)

There are the following menu entries:

RGB	Create 3 new images name.R, name.G, name.B

YIQ	Create 3 new images name.Y (intensity), name.I, name.Q

HSL	Create 3 new images name.H(hue), name.S(saturation), name.L(luminance)

CMYK	Create 4 new images name.C (Cyan), name.M (Magenta), name.Y (Yellow), name.K (Black)

YUV	Create 3 new images name.Y (intensity), name.U, name.V


Combine RGB

The Combine RGB Channels From sub menu (Menu Image) allows to create a full RGB image from channels of the selected color space (only from gray scale images)

There are the following menu entries:

RGB	Create a new image name.RGB

YIQ	Create a new image name.YIQ

HSL	Create a new image name.HSL

CMYK	Create a new image name.CMY

YUV	Create a new image name.YUV

Each menu entry displays a dialog box allowing to specify image names (all allowed names are listed in the list boxes) to be used as sources for the color component, the order is the same of the corresponding color space (e.g. for RGB Source1 = R, Source2 = G, Source2 = B)


Filtering

The Filtering sub-menu (Menu Image) allow to apply different image filtering algorithms:

User Defined ...	displays a dialog to specify a user defined filter mask, you can save or load it from file and use then the User Defined filter entry in the Options Menu to add it to the Filter Menu as Custom Filter

Low Pass	apply a low pass filter

High Pass	apply a high pass filter

Band Pass	apply a band pass filter (not implemented yet)

Crispening 1	edge crispening heavily

Crispening 2	edge crispening

Directional X	enhance horizontal direction (vertical edges)

Directional Y	enhance vertical direction (horizontal edges)

Auto Regressive	The same as User Defined filter but performs a recursive filtering

Moving Average	sub menu to apply a moving average filter (blurring) of 3,5,7,9,11 mask size

Median ...	apply a median filter of a given mask size for a given number of times

Edge Preserving Blurring &1 &2 	Perform an edge preserving blurring using a given noise power for a given number of times

At the very end of this Menu there are the entries for the custom defined filters with their names as specified in the User Defined dialog


Special

The Special sub-menu (Menu Image) contains other image processing algorithms

Add &Noise ...	add uniform or gaussian noise to the current image

Edge Detection	sub menu to apply edge detection algorithms (create new images)

Sobel ... 	apply Sobel operator with a given threshold

Gradient Thresholding ... 	apply gradient thresholding with a given threshold

Marr &Hildreth ...	apply the Marr-Hildreth operator with a given variance (directly connected with the mask size) and a given threshold.

Fast Edge Thinning	 	performs edge thinning on a 2 colors image

Segmentation	sub menu to apply segmentation algorithms (create new images)

K-Means ...	performs a K-Means clustering with a given number of cluster and a given number of iterations

Fill Segmentation	performs a fill region growing algorithm with a given threshold, allows to remove small regions and to find edges instead of label images.


Equalization

The Equalization sub-menu (Menu Image) performs some image processing algorithms based on histogram

Histogram Equalization

Equalization	performs an istogram equalization (try to get an uniform integral)

Uniform	apply an uniform histogram mapping

Exponential	apply an exponential histogram mapping

Rayleigh	apply an Rayleigh histogram mapping

Cube Root	apply an Cuberoot histogram mapping

Logarithm	apply an Logarithmic histogram mapping

Istogram Rescaling ...	Perform an histogram stretching given two thresholds being the low and high pixels percentuage to cut out

Istogram Specification	Not implemented yet

Color/Gray Correction	Not implemented yet


Compute

The Compute menu entry (Menu Image) displays a dialog wich enables to perform mathematical operations involving two images or more images the operations are:

Add 	(Src1 + Src2)/Scale + Shift

Sub 	(Src1 - Src2)/Scale + Shift

Multiply 	(Src1 * Src2)/255

Difference 	Abs(Src1 - Src2)

Blend 	Src1*Perc + Src2*(1-Perc) 	Perc=Scale/100

Composite 	Src1*Perc + Src2*(1-Perc) 	Perc=Mask/255

Lighter 	Max(Src1,Src2)

Darker 	Min(Src1,Src2)

Extract 	Not Implemented yet

Sources must have the same dimensions and color formats (only 8 or 24 bpp allowed), a new image is created.


Use memory DIB

Use memory DIB	Set/Reset memory storage of device independent bitmaps, note that if selected more memory is used to display images, try disabling  this option if running out of memory


Adjust palette on WinLab Images

Adjust palette on WinLab	Set/Reset palette changes adjustment among displayed  images

WinLab automatically updates all images displayed if a palette change occurs, this can happens if the user activates a different image or folder having a palette (even if a full color image displayed on a palette based device) different to the previous one, disabling this option will cause WinLab to not update the screen (only the currently active document will displays correctly).


Adjust Palette on External Images

Adjust palette on external	Set/Reset foreign applications palette changes adjustment

WinLab automatically updates all images displayed if a palette change occurs disabling this option will cause WinLab to not update the screen when a different application realizes a new palette.


Display Dithering

Display Dithering	Set the default dithering method for true color images

there are currently 3 possible choices

None:	Do not perform any dithering

Floyd-Steinberg	Use Floyd-Steiberg error diffusion (good results but slow)

Ordered	Use Ordered pattern dithering (poor results but faster)

WinLab ignores this selection when it detects a non palette based display driver, that is if the currently installed display driver support more than 32k colors, WinLab always displays full colors images without dithering.


Display RGB Conversion
Display RGB->Palette Conversion

Display RGB Conversion	Set the default color quantization scheme for displaying full color RGB images

there are currently 4 possible choices

No Conversion	Do not perform color quantization

Quantize	Use a simple 3-3-2 bit allocation for RGB channels to produce a 256 color 	palette, the color palette is the same for each RGB image

Median Cut	Use the median-cut algorithm to carry out a color palette for each RGB 	image

Adaptive	Use an orthogonal balanced palette (same number of levels for each 	channel), the color palette is the same for each RGB image

Using the Median Cut algorithm will cause a different palette for each full-color image to be used, hence a complete display redraw will occur when switching between full-color images.

WinLab ignores this selection when it detects a non palette based display driver, that is if the currently installed display driver support more than 32k colors, it always displays full colors images without color quantization.


Clipboard Format

Clipboard Format	Set the format for clipboard storage of image data

WinLab currently supports 3 clipboard formats

Window device dependent Bitmap (BMP)

Window Device Independent Bitmap (DIB)

Aldus TIFF 5.0

The currently selected clipboard format will affect only writing operation into the clipboard, since the pasting from the clipboard will take any format WinLab can support.

The shape of the current selection is stored in a custom clipboard format, and is separated from the actual image data, so the latter could be used from another application.

Due to the Windows Bitmap formats limitation, not all image format (color format and bit per pixel) supported by WinLab can be stored in the clipboard if one of this format is selected, on the other side the TIFF format fully support all image color and depth format.


Toolbars

Toolbars	Set the visualization mode for the toolbars

There are 2 possible choice:

Floating Tool Bars	If selected the tool bars are displayed as floating window always on top of the 	MDI child windows, otherwise they have a fixed position

Vertical Tool Bars	If selected the tool bars are vertically oriented, horizontally otherwise

WinLab automatically place the tool bars when the Floating Tool Bars Options is disabled, taking into account the Main window sizes.

see also: tool bars


JPEG Image Format

JPEG Image Format  menu entry (Options Menu) Displays dialogs for setting the parameters for JPEG co/decompression.

For the Load/Decompression parameters:

color type radio buttons set the color format when loading a jpeg image

number of colors editbox set the desired number of color when requesting a colormapped image

speed Vs quality radio buttons select wich dct routines to use: fast integer (less accurate) or slow integer (accurate)

color quantiz. checkbox will select one pass only color quantization (faster)

Dithering radio buttons select wich kind of color dithering to use

Rescaling factor will rescale down the image by a given factor (faster for preview load)

For the Save/Compression parameter:

The Quality scroll bar and edit set the requested quality (1-100) the higher the number the lower the compression factor.

The Entropy Optimization checkbox will select the use of a two pass huffman coding (compute huffman tables dinamically on the given image), slow down the compression if set.

The Arithmetic Coding  radiobutton will select the alternate entrophy encoder for dct coeff (not available)

The Huffman Coding  radiobutton  selects the huffman entrophy encoder for dct coeff (default)


TIFF Image Format

The TIFF Image Format  menu entry (Options Menu) Displays a dialog for setting the parameters for  TIFF format image saving:

The Contigue and Separate radiobuttons select the color samples arrangement (e.g. RGB or RRR...GGG....BBB )

The Tile checkbox selects the output of a tiled tiff file (not implemented yet)

The Lsb Msb and Msb Lsb radio buttons select the byte ordering (default is Msb Lsb for INTEL machines)

The Compression  radio buttons select the compression schemes to be used (G3 and G4 not implemented yet)

The LZW Predictor  check and edit set parameter ans use of a DPCM predictor for LZW compression.

The Group 3  check boxes select paramenter for the Group 3 compression (not implemented yet)


Tile

Tile	Organizes the non-iconized MDI child windows as tiles (vertically or 	horizontally)


Cascade

Cascade	Organizes the non-iconized MDI child windows as a cascade


Arrange Icons

Arrange Icons	Organizes the iconized MDI child windows


Close Active

Close Active	Closes the currently active window


Close All

Close All	Closes all the iconized and non-iconized windows


IMAGE FORMATS
 File Formats

WinLab currently supports the following image formats:

Format Name	File Extensions	I/O Capabilities 	Comments

Windows 3.0/3.1 Bitmap	.bmp,.dib	Read/Write

Raw Data	any	Read/Write

Compuserve Gif	.gif	Read/Write

Hp Starbase	.img	Read/Write

Aldus TIFF V5.0	.tif	Read/Write	No Group G3 G4(TIFF library)

Targa	.tga	Read/Write	Read: all. Write: 8,24 bpp

Amiga IFF (ILBM)	.iff	Read/Write	Read: all. Write: no HAM

JPEG (JFIF file format)	.jpg;.jpe;.jp;.j	Read/Write	Use IJG jpeg library

Paintbrush	.pcx	Read

Encapsulated Poscript	.eps	Write

You can set writing options for TIFF and JPEG format by using the entries in the Options Menu

WinLab currently supports the following custom document formats:

Format Name	File Extensions	I/O Capabilities 	Used for

WinLab Folder V1.0	.wfl	Read/Write	Open/Save As

WinLab Filter	V1.0	.wft	Read/Write	User Defined and Options

WinLab Palette V1.0	.wcm	Read/Write	Palette Window


Selection Window

The Selection Window is a special child window that could be used to temporary store one or more selections dragged and dropped from any image. The selection window automatically place a copy of the dropped selection (remember that new memory is allocated for each copy) and displays it as a reduced version.

You can drag and drop one of the selection into the selection window into any other image, after dropping a selection out from the selection window the selection  will be erased from it only if the dropping operation do not cause selection conversion or modification (e.g. color conversion to that of the selected image or dropping into a previous existing selection), in order to prevent the lost of the original selection.


Tool bars

WinLab currently support 3 kind of toolbars:

Selection Tools

Image Tools

File and Edit Tools

Tool bars can be displayed or not depending on the setting of the View Menu , their orientation can be horizontal or vertical and can have a floating or fixed position depending on the settings of the ToolBars entry of the Options Menu


Palette Window

The Palette Window is a special kind of child window that displays the palette of the current active image if any.

The palette is displayed as a grid of rectangles filled with a color from the color palette:

The status bar of the window will displays the current palette entries under the cursor as well as the color component (RGB,HSV,CMYK).

You can change the color space by selecting a menu entry by clicking the right mouse button while the cursor is over the palette window.

With the same menu you are entitled to save or load the palette from a WinLab palette file see File Formats for details.

By double clicking over a given color rectangle, you can display a dialogbox to choose a new color for that entry (N.B. the image color format will be changed to colormapped if the previous one was grayscale)

For full color RGB images the palette window will display a gamut of possible colors in the HSV color space


Selection Tools

The Selection Toolbar contains 12 buttons some of them corresponding to menu entries while others performs commands not accessible by other means.

From Left to right top to bottom the corresponding functions are:

 When pressed enables to defines a rectangular selection into an image, position the cursor over the image and press the left mouse button, while pressing the button drag the cursor to select the rectangular area, if the Shift key is pressed when you can define a square selection.

 When pressed enables to define a segmented and/or free hand selection, position the mouse over the starting point and press the left mouse button once for each vertex, a straight line will be drawn between vertex, keep pressed the button for free hand drawing, you can combine both segment and free hand in the same selection, when finished just double click on the left mouse button.

 When pressed enables to drag and drop the current selection to another image or to the selection window just click over the given selection to drag it. The cursor will change this way [image] if the window under it is can drop the selection otherwise the cursor will take the [image] form

 When pressed enables to defines an elliptical selection into an image, position the cursor over the image and press the left mouse button, while pressing the button drag the cursor to select the elliptical area, if the Shift key is pressed when you can define a circular selection.

 When pressed enables to define a selection by means of a fill segmentation process starting from a given point, the algorithm is based on a threshold region growing (this tool not enabled in the shareware distribution).

 Deletes the current selection (you can use the undo button or menu entry to undelete it)

 When pressed enables to drag the selection on a different position into the same image. The selection isn't actually copyed back to the image.

 When pressed enables to drag the shape of the selection on a different position into the same image. The selection is copyed back to the image at the old position.

 When pressed enables to drag the selection on a different position into the same image. The selection is copyed back to the image at the new position.

 When pressed enables to drag the selection on a different position into the same image. The selection is copyed back to the image at the new position and the old position is erased.

 When pressed zooms the image to fit the current selection into the current window sizes

 When pressed zooms out the image to normal view


Image Tools

The Image Toolbar contains 7 button each one corresponding to a menu entry in the Image Menu

From Left to right top to bottom the corresponding functions are:

Image Info

Duplicate

Resize

Rotate

Flip X

Flip Y

Negative


File and Edit Tools

The File and Edit  Toolbar contains 8 button each one corresponding to a menu entry in the File and Edit Menus

From Left to right top to bottom the corresponding functions are:

New Image

Open Document

Save Document

Cut

Copy

Paste As New Image

Undo

Print Image


Histogram Window

The Histogram Window is a special child window that displays the Histogram of the active image/selection . For gray scale images the histogram window displays the graph of the gray levels occourrences normalized by the maximum value in the Histogram:

The status bar will displays the color index and the percentuage of pixels having that gray value in the active image or selection, you can change the index by clicking the left mouse button and dragging the dotted vertical line inside the window.

For full color images 3 different graphs for each RGB channel will be displayed as well as indexes and percentuages.

You can use the information from this window to choose parameters for Histogram Equalization Filters or for image analisys of local features extraction.


Registering
PhD Engineering S.r.l. software ORDER FORM AND FAX SHEET

(Fax Number:+39-10-357271)

or e-mail to dede@dibe.unige.it

Name (Please Print) __________________________________________________________

Address____________________________________________________________________

City________________________State/Province___________________ZIP______________

Country_____________________Phone/Fax_______________________________________

DISK SIZE:

[  ] 3.5", 1.4MB

[  ] 5.25", 1.2MB T.

COST:

[  ] WinLab V3.0	ITL 120.000 (~ 80 US$)

[..] NetProto V1.0	ITL 30.000   (~20 US$)

[  ] I have got the shareware distribution    [   ] internet    [  ] BBS      [  ] CD-ROM    [  ] Other

SHIPPING CHARGES (not required if you have got the shareware distribution anywhere)

[ .] Italy: ITL  8.000

[  ] All other countries: ITL  15.000 (~ 10 US$)

Total Amount 	ITL _______

MAILING ADDRESS:

PhD Engineering S.r.l.

CorsoEuropa, 157/1 I-16132 ITALY

PAYMENTS:

 Make checks payable to "PhD Engineering S.r.l.".

or

Check your card: [  ] Visa  [  ] MasterCard

Card number:__________________________Expiration date:_____/_____ (MM/YY)

Signature:___________________________________

In the case of payment by credit card please mail the form also, since original signature is required


Licence Agreement

Limited Use Software License Agreement

This Limited Use Software License Agreement (the "Agreement") is a legal agreement between you, the end-user, and PhD Engineering S.r.l. (PhD). By continuing the installation of this program, by loading or running the program, or by placing or copying the program onto your computer hard drive, you are agreeing to be bound by the terms of this Agreement.

If you agree with the following conditions you are entitled to use this Software for a period of forty (40) days to evaluate it, after such a period you are requested to register your copy in order to keep using it.

PhD software license

1. Grant of license.

PhD grants to you the right to use the PhD Software program (the "Software"), which is the shareware version of the program. For purposes of this section, "use" means loading the Software into RAM, as well as installation on a hard disk or other storage device. You may not: modify, translate, disassemble, decompile, reverse engineer, or create derivative works based upon the Software. You agree that the Software will not be shipped, transferred or exported into any country in violation of the Italian Ministry for Trade with Third Countries and that you will not utilize, in any other manner, the Software in violation of any applicable law.

2. Copyright.

The Software is owned by PhD and is protected by Italy copyright laws and international treaty provisions. You must treat the Software like any other copyrighted material, except that you may make copies of the Software to give to other persons. You may not charge or receive any consideration from any other person for the receipt or use of the Software without receiving PhD's prior written consent. You agree to use your best efforts to see that any user of the Software licensed hereunder complies with this Agreement.

3. Limited Warranty.

PhD warrants that if properly installed and operated on a computer for which it is designed, the Software will perform substantially in accordance with its designed purpose for a period of forty (40) days from the date the Software is first obtained by an end-user. PhD's entire liability and your exclusive remedy shall be, at PhD's option, either (a) return of the retail price paid, if any, or (b) repair or replacement of the Software that does not meet PhD's Limited Warranty. To make a warranty claim, return the Software to the point of purchase, accompanied by proof of purchase, your name, your address, and a statement of defect, or return the Software with the above information to PhD. This Limited Warranty is void if failure of the Software has resulted in whole or in part from accident, abuse, misapplication or violation of this Agreement. Any replacement Software will be warranted for the remainder of the original warranty period or thirty (3O) days, whichever is longer. This warranty allocates risks of product failure between Licensee and PhD. PhD's product pricing reflects this allocation of risk and the limitations of liability contained in this warranty.

4. Non other warranties.

PhD disclaims all other warranties, either express or implied, including but not limited to, implied warranties of merchantability or fitness for a particular purpose with respect to the Software and the accompanying written materials, if any. This limited warranty gives you specific legal rights. You may have others which vary from jurisdiction to jurisdiction. PhD does not warrant that the operation of the Software will be uninterrupted, error free or meet licence's specific requirements. The warranty set forth above is in lieu of all other express warranties whether oral or written. The agents, employees, distributors, and dealers of PhD are not authorized to make modifications to this warranty, or additional

warranties on behalf of PhD. Additional statements such as dealer advertising or presentations, whether oral or written, do not constitute warranties by PhD and should not be relied upon.

5. Exclusive Remedies.

You agree that your exclusive remedy against PhD, its affiliates, contractors, suppliers, and agents for loss or damage caused by any defect or failure in the Software regardless of the form of action, whether in contract, tort, including negligence, strict liability or otherwise, shall be the return of the retail purchase price paid, if any, or replacement of the Software. This Agreement shall be construed in accordance with and governed by the laws of the State of Italy. Copyright and other proprietary matters will be governed by Italy laws and international treaties. In any case, PhD shall not be liable for loss of data, loss of profits, lost savings, special, incidental, consequential, indirect or other similar damages arising from breach of warranty, breach of contract, negligence, or other legal theory even if PhD or its agent has been advised of the possibility of such damages, or for any claim by any other party. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so the above limitation or exclusion may not apply to you.

6. General Provisions.

Neither this Agreement nor any part or portion hereof shall be assigned or sublicensed, except as described herein. Should any provision of this Agreement be held to be void, invalid, unenforceable or illegal by a court, the validity and enforceability of the other provisions shall not be affected thereby. If any provision is determined to be unenforceable, you agree to a modification of such provision to provide for enforcement of the provision's intent, to the extent permitted by applicable law. Failure of a party to enforce any provision of this Agreement shall not constitute or be construed as a waiver of such provision or of the right to enforce such provision. If you fail to comply with any terms of this Agreement, Your license is automatically terminated.

YOU ACKNOWLEDGE THAT YOU HAVE READ THIS AGREEMENT, YOU UNDERSTAND THIS AGREEMENT, AND UNDERSTAND THAT BY CONTINUING THE INSTALLATION OF THE SOFTWARE, BY LOADING OR RUNNING THE SOFTWARE, OR BY PLACING OR COPYING THE SOFTWARE ONTO YOUR COMPUTER HARD DRIVE, YOU AGREE TO BE BOUND BY THIS AGREEMENT'S TERMS AND CONDITIONS.

YOU FURTHER AGREE THAT, EXCEPT FOR WRITTEN SEPARATE AGREEMENTS BETWEEN PHD AND YOU, THIS AGREEMENT IS A COMPLETE AND EXCLUSIVE STATEMENT OF THE RIGHTS AND LIABILITIES OF THE PARTIES.

THIS AGREEMENT SUPERSEDES ALL PRIOR ORAL AGREEMENTS, PROPOSALS OR UNDERSTANDINGS, AND ANY OTHER COMMUNICATIONS BETWEEN PHD AND YOU RELATING TO THE SUBJECT MATTER OF THIS AGREEMENT.


Remote Send To

This command allow to transmit over the net a document (image or folder) through the use of any window socket compliant layer (e.g. Trumpet or WfW socket layer).

The command will displays a dialog to specify the address of the remote machine in internet dot style ( e.g. 130.251.89.99 or janine.dibe.unige.it), clicking over the button "WinLab's  running on" will broadcast a message over your physically connected network and fills the list box with all machine names currently running WinLab (only those having enabled file transfer see menu Options)


netproto
Netproto DDE Server

netproto.exe is a DDE server which uses the window socket specification to communicate with other instances of it running on a different machine.

It is a general purpose server which could be used to transmit files over the network if a socket compliant layer is provided. There are commercially available many TCP/IP layers and also some shareware ones (e.g. Trumpet window socket), it is also available a free TCP/IP protocol stack for Windows for Workgroup© from Microsoft.

Netproto can perform broadcast query over the net to find out other copy of itself running, and can identify if a given program (e.g. WinLab) is running on that machine.

Netproto is fully asynchronous so many transfer and receive can take place at the same time.

Netproto receive command by DDE interface and send notification messages to the applications registered with it when a file is received correctly.

If you are interested in using NetProto for your own application please send a request to the me at the address of PhD Engineering S.R.L.


The Autor
The Author

WinLab has been written by:

Giuseppe Desoli

e-mail: dede@dibe.unige.it

voice: +10 3532 947,  +10 357271

fax: +10 357271

c.o. PhD Engineering S.R.L.

C.so Europa 157/1

16132 Genova

Italy


Acknowledgement

For the JPEG I/O many thanks to the great Independent Jpeg Group for their jpeg library

Copyright (c) 1994 by Thomas G. Lane

For the TIFF I/O many thanks to Sam Leffler and Silicon Graphics for their TIFF library

Copyright (c) 1988,1989,1990,1991,1992 Sam Leffler

Copyright (c) 1991,1992 Silicon Graphics, Inc.