Mask Editor is intended for interactive selection of good and bad regions on 2D image and preparation of output files with direct and inversed masks. It works as a basic graphical editor with specific input of the image and output for masks.
Content
User Interface
User interface of the Mask Editor works in a single window containing three panels; graphical window, left-hand, and bottom control bars. Content and functionality of these panels is described below. Most of control buttons have tool tip hints; when cursor stops on control button, a pop-up window with explanation of functionality of this button appears for a few seconds .
Graphical window
Graphical window contains image and spectrum. When cursor moves on image or spectrum, its coordinates are displayed near cursor. Cursor pattern is changed from "cross" to "pointing-finger" when it is located on active form boarder.
Left control bar
Left control bar consists of stack of buttons, which are functionally split for four groups; Forms, Modes, I/O, and Status, which content and functionality is explained in this section.
Forms
Forms are represented by the geometry objects Rectangle, Circle, Polygon, Wedge, and Line, which can be used to compose the mask positive and negative regions. All forms, except Polygon, are presented by two 2D points each in image coordinate system. Polygon is presented by the N 2D points, where N is a number of vertexes. All forms behave about the same way depending on Mode, as explained below.
Modes
Section of modes contain Zoom, Add, Move, Select, and Remove buttons with functionality literally explained by their names.
- Zoom
Mode Zoom works for image and spectral limits.
Zoom-in image: left mouse button click-drug-release for desired region of image.
Set limits for spectrum: left/right mouse button click on desired min/max limit on spectrum.
Reset to full size: middle mouse button click on image or spectral box or "Reset" button. - Add
Add is an input mode for forms.
Input method for Rectangle, Circle, Wedge, and Line: in mode Add click-drug-release the left mouse button. Two points for each form are defined by the click and release positions of the mouse.
Input method for Polygon: the N-1 points are entered by the left mouse button click, while the Nth point is indicated by the right mouse button click, which closes the polygon. - Move
Each form can be moved or edited in this mode;
in mode Move choose the form, then use left/right mouse button click-drug-release on form boarder to move/edit the form. - Select
Forms can be used as regular "positive" for ROI, and inversed "negative" for blemish mask.
Select button serves to switch between regular and inversed forms.
In the Select mode choose the form, then use left mouse button click on form boarder. Form color is changed at selection/deselection. - Remove
In the Remove mode choose the form, then use any mouse button click on form boarder.
As an alternative option, currently active form can be removed by the middle mouse button click on its boarder. The "Clear Forms" button from I/O section removes all forms.
I/O
- Load Image
Loads and displays image from text file. The file name is selected through the standard pop-up dialog window. - Load Forms
Loads and displays forms from text file. The file name is selected through the standard pop-up dialog window. - Save Forms
Saves forms in text file. The file name is selected through the standard pop-up dialog window. - Save Mask
Saves "ROI" (positive) mask in text file. The file name is selected through the standard pop-up dialog window. - Save inv-M(ask)
Saves "blemish" (negative) mask in text file. The file name is selected through the standard pop-up dialog window. - Print Forms
Prints current forms from the list. - Clear Forms
Removes forms from image and from the list.
Status panel
Status panel is a single button-like panel, displaying short status messages.
Bottom control bar
Bottom control bar contains "Help", "Reset", "Save", "ELog", "Close" buttons, "N bins" editable field, "Grid", and "Log" check boxes.
- Help
Shows pop-up windows with help info about navigation. Use scroll bar to read entire help message. - Reset
Restores original image size and spectral limits. - Save
Saves content of graphical window in png file. The file name is selected through the standard pop-up dialog window. - ELog
Serves to submit message in ELog. The content of graphical window will be added as attachment. Destination of the message is selected through the custom pop-up dialog window. - Close
Closes the Mask Editor application. - Grid
On/Off coordinate grid on image and spectrum. - Log
Serves as a switch between linear and log scale. - N bins
"N bins" field can be used to change a number of bins in spectrum. Spectrum will redraw, when edition is ended (press Enter on keyboard or change focus on other field).
How to run Mask Editor
Mask Editor is developed as a part of the integrated data processing environment for XCS time correlation experiments. In this project the Mask Editor is integrated as one of the system GUIs. Also it can be executed as a stand-alone application named med
. Stand-alone version of the Mask Editor can launched on any of psana
or psexport
node using command-line interface, for example, for all default parameters:
sit_setup med
List of optional parameters
> med -h Usage: med [options] Optional input parameters. Options: -h, --help show this help message and exit -i IFNAME, --fname_img=IFNAME input image file name -o OFNAME, --fname_fig=OFNAME output png file name for current canvas -m MFNAME, --path_mask=MFNAME common path to I/O files with mask -t TITLE, --title=TITLE initial title of the garphical window -x XC, --xc=XC x coordinate of the center for Wedges -y YC, --yc=YC y coordinate of the center for Wedges -p PICKER, --picker=PICKER distance in pix, where object line can be reaced by mouse -w LW, --lw=LW object line width -c COL, --color=COL color of the form lines "b"-blue, "k"-black, etc. -v, --verbose allows print on console -q, --quiet supress print on console
Form data format
Forms can be saved in file, loaded from file and displayed on image, printed on console monitor, and cleared/removed from image. This can be done using simple data representation for each form, which is quite self-explained in case of print or text-file format:
Form parameters for composition of the mask Rectangle 48.00 50.00 262.00 380.00 1 b False False Rectangle 987.00 853.00 255.00 380.00 1 w True False Wedge 716.76 674.72 541.18 197.61 -171.39 174.59 1 b False False Wedge 674.48 667.64 585.84 386.69 174.75 186.99 1 b False False Circle 712.00 674.00 262.00 1 b False False Circle 1068.00 180.00 112.00 1 b False False Circle 191.00 898.00 117.00 1 b False False Circle 752.00 1098.00 53.00 1 w True False Line 689.79 1252.80 624.50 223.22 1 w True False Line 829.99 1252.80 244.47 388.46 1 b False False Line 836.67 1303.98 268.07 541.89 1 w True False Line 692.02 1315.11 669.35 827.50 1 b False False Polygon 1 w True False 10 400 373 620 ... Polygon 1 b False False 6 329 674 683 ...
Demonstration of features
Plots for
- Input image
- Image with drawn forms on it
- Image for mask with forms on it
- Image for inversed mask with forms on it
- Help window