Wand-mode is the special mode to view and edit images under SXEmacs. Wand-mode is based on ImageMagick API therefore it can perform action usually done by programs such as convert(1), display(1) etc. Wand-mode supports all the formats handled by ImageMagick; there are over 100 formats including PDF, EPS, etc.
Getting started with Wand-mode
Using M-x Wand-display RET /path/to/image.jpg RET we will get something like:

To get file info we press i:

Now let us enhance this image a little. We want to remove noise and decrease contrast a little. Use o despeckle RET and then o contrast RET decrease RET. Don't worry, completion will work everywhere. We'll get the result:

Viewing image directories
Wand-mode has simple yet very handy navigation possibilities to view images. Open any file with Wand-display, if there any other image files (supported by ImageMagick) in the directory, then you can open them using next keys:
- Space - Next image
- BackSpace - Previous image
- M-< - Very first image in the directory (in alphabet order)
- M-> - Last image in the directory
Customizing Wand-mode
Wand-mode has few parameters to change it's behavior. Use M-x customize-group RET Wand-mode RET to change them. Here is a little description of most want-to-customize parameters:
Wand-mode-zoom-factor - Number (default: 2)
As you can notice from it's name, this is the coefficient for + (zoom-in) and - (zoom-out) commands.
Wand-mode-show-fileinfo - Boolean (default: t)
When non-nil, then display some information about the file, for more info, as was already noticed above, use i command.
Wand-mode-show-operations - Boolean (default: t)
When non-nil, then display image operations stack. You can use undo/redo commands even if Wand-mode-show-operations is nil.
Wand-mode-auto-fit - Boolean (default: t)
When non-nil, then scale image to fit it into SXEmacs window.
Wand-mode-auto-rotate - Boolean (default: t)
When non-nil, then rotate image in case it has orientation info inside (modern photo cameras can detect own space orientation and store this info inside photos). If rotation was done, then rotation operation will be placed into image operations stack. Very handy.
Changing image and saving
Use next keys to operate on images:
- l - Rotate by 90° counterclockwise (like to the left)
- r - Rotate by 90° clockwise (like to the right)
- + - Zoom in the image according to Wand-mode-zoom-factor
- - - Zoom out the image according to Wand-mode-zoom-factor
- o - General operational key. Inquiries for the operation to do and for its parameters. Supports completion.
You can apply operations one by other, like we already did. All operations are stored in image operations stack, so you can undo/redo any using standard C-/ (or C-_) and C-x C-/ keys. Also you can re-apply last operation with C-. (or C-x M-:) key. To abolish all operations just reload image with C-r.
Now when new image is read, we can save it to the disk. There are two commands to do it:
Attention!
ATTENTION: Saving to non-graphical formats such as HTML, TXT, etc, may lead to core dump. This is ImageMagick bug, but unfortunately ImageMagick developers not quite sociable guys, so only god knows when this will be fixed.
- C-x C-w - You'll be asked about file format to use and filename.
- C-x C-s - Simple way to save. You'll be queried for filename only. And file format will be automatically defined according to the extension of the filename you provided.
Operating on image region

Using left mouse you can select image region, for example Sarah's hand. If Wand-mode-show-fileinfo is set to non-nil, then region's geometry (coordinates and size) will be displayed, sometimes this useful. When region is active then operations that can be applied to region, such as contrast, despeckle, etc will be applied to region only. There are few commands that are applicable only to regions:
- c - crop the region and cut everything else
- o chop RET - chop the region and assemble everything else together
- Red eye reduction
After applying operation to region, region deactivates. To activate last region use C-M-z command.
Red eye reduction
Most important thing in the red eye reduction is correctly selected region. Best way to select region so all red part is in the centre of the region and there is a little free space from red part to the edges of the region. Here is an example of well formed region:

And here is not so well selected region, however red eye reduction algorithm will handle it in this case, but in more complicated cases it might produce some artifacts:

After selecting the region simple press . or choose menu item Wand→Region→Remove red eye.
Red eye reduction algorithm used in Wand-mode is straightforward and can't compete with algorithms implemented in professional red eye reduction tools, however it demonstrates pretty good and usable results. Here is the comparison:

Operations table
To finalize the article, here is brief overview of operations you can do on images using Wand-mode. Notice that operations which does not changes image size can be applied to region without problems:
Transform | ||
![]() |
Sample Width: 400 Height: 200 |
![]() |
![]() |
Rotate Degrees: 120° |
![]() |
![]() |
Flip | ![]() |
![]() |
Flop | ![]() |
Effect | ||
![]() |
Add Noise Noise type: Poisson |
![]() |
![]() |
Despeckle | ![]() |
![]() |
Edge detect Radius: 1.0 |
![]() |
![]() |
Emboss Radius: 1.0 Sigma: 2.0 |
![]() |
![]() |
Gaussian Blur Radius: 1.0 Sigma: 2.0 |
![]() |
![]() |
Radial Blur Radius: 3.0 |
![]() |
![]() |
Reduce Noise | ![]() |
![]() |
Sharpen Radius: 1.0 Sigma: 2.0 |
![]() |
![]() |
Spread Radius: 1.0 |
![]() |
Enhance | ||
![]() |
Contrast Type: increase |
![]() |
![]() |
Contrast Type: decrease |
![]() |
![]() |
Enhance | ![]() |
![]() |
Equalize | ![]() |
![]() |
Negate | ![]() |
![]() |
Normalize | ![]() |
F/X | ||
![]() |
Charcoal Radius: 1.0 Sigma: 2.0 |
![]() |
![]() |
Implode Radius: 0.4 |
![]() |
![]() |
Implode Radius: -0.4 |
![]() |
![]() |
Oil Paint Radius: 2.0 |
![]() |
![]() |
Sepia Tone Threshold: 85% |
![]() |
![]() |
Solarize Threshold: 50% |
![]() |
![]() |
Swirl Angle: 90° |
![]() |
![]() |
Vignette Black/White: 10 |
![]() |
![]() |
Wave Amplitude: 2 Wave length: 10 |
![]() |
No comments:
Post a Comment