MeeSoft Image Analyzer plugins

In addition to those available here, we can offer to develop customized plugins for Image Analyzer for specific purposes. It could be special processing, automatic analysis, image acquisition etc. Send a description as precise as possible of the desired feature.

AI Denoising
Add text and vector graphics
Fractal interpolation
8fb Plugin Interface
Microscopic imaging
3D modeling
Batch processing
PCA Color Stretch
Profile line
Raster Export
Feature-preserving resize

Developing image processing plugins
Developing file format plugins


AI Denoising

This is a noise reduction filter for improving photos taken at high ISO values. It is based on a neural network which was trained on a number of high ISO images from a couple of Canon cameras (because that is what I had available) but it seem to generalize well on photos from other cameras. It works quite well for removing noise and recovering details in my experiments so far.
The neural network is described in the paper Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising and my (Python) training code is available on github. In principle you can retrain it with new training images and place the .pb model in the ImageAnalyzer\DotNetPlugins folder to make it available in the software.
Note that Microsoft .net 8 Desktop Runtime for x64 must be installed Download


Download version 1.43 for CPU


Microscopic imaging

The MultiFocus plugin is a tool for microscopic image enhancement and presentation with applications in e.g. cell-biology, material science and medicine (histology). The plugin can combine serial images acquired at different Z distances, where different parts of the object are out of focus in each image (see copper coin example below). From the serial images a sharp picture of the surface and a depth map is created. Using the 3D modeling feature, the depth map can be used for 3D reconstruction of the surface.
The plugin uses an automatic image registration algorithm which enables it to handle the images even though the object and/or camera was moved or rotated from one image to the next.

Pollen grain image created from serial images by the MultiFocus plugin

3D image of CD ROM surface
3D image of part of a chip

Below is an example with images of a copper coin. The red square marks the part of the coin that we are interested in. Six images were acquired at different Z values and combined using the MultiFocus plugin. Note that the original images are 3 megapixels but have been decimated to reduce download time.

Bottom of Z-stack
Top of Z-stack

Result of combining serial images
Depth map

The example images presented here were made available by Dr. C.H. Weischer of Biomedical Innovation.

Download version 4.4 (dated 2011-11-20, size 296 kb)


3D modeling

The 3D modeling plugin can produce models from either a depth map or a lathe profile, and a texture can be assigned to the model. Below are a few examples/tutorial pictures created with the plugin. Note that you can create these models yourself using only the images available from this page.

Download the 3D modeling plugin version 1.07.2 (dated 2013-04-07 471 kb)

Based on the six images of the copper coin above it is possible to produce a depth map. Using this depth map and the combined image as texture the following 3D model was constructed:




3D model from lathe profile and texture:
Profile
Texture
Result

View 3D model (require VRML-enabled browser)


Another way of creating a 3D model is to enter an expression for the lathe profile in the expression evaluator of Image Analyzer:

The following is the expression for a semicircle:
sqrt(1-y^2)

Combined with a world map, this produces a globe.  


See also:
Structure From Motion - an experimental method for creating 3D models from photographs of an object.
3Shape - high precision 3D scanners.


Feature-preserving resize

This plugin can reduce the size of an image by removing "empty space" which means that instead of making objects smaller it just reduces the space between them. This can be practical if you want to reduce the width of an image without reducing the height. Normally such an operation would distort the image but this algorithm can in many cases do it without changing the height/width ratio of objects in the image. Note that it works by reducing empty space in the image so it works best for landscape photos where there are areas with few details.
It can also be used to enlarge images. In that case it will try stretch empty space instead of objects.


Original


Scaled to 80% width using standard algorithm


Scaled to 80% width using feature-preserving algorithm


Download version 1.0 (226 kb)

This .DLL file should be placed in the ProcessingPlugin folder below the program folder.


Batch processing

The batch processing plugin can be used for automatic file format conversion, image processing/enhancement and HTML code generation. It has a script language which enables processing of a large number of files with selected image processing methods from Image Analyzer. Example applications could be automatic noise reduction and color correction of a collection of images or thumbnail generation for a website. The script language supports conditional execution of commands, loops and math expression evaluation.
See the Batch Processing help page for more examples.

Download version 2.25.4 (dated 2017-07-02)


Fractal interpolation

Fractal interpolation is an alternative to the interpolation methods available in the standard Resize dialog. Fractal interpolation will create artificial details and thus enlarge the picture without smoothing it.
An example comparison is shown in the help. Note this will only give good result on images with little noise, because any noise will be enhanced in the process. It may be advantageous to use the Adaptive noise reduction filter before or after fractal interpolation.

Download version 3.1 (dated 2010-02-13, size 239 kb)

This .DLL file should be placed in the ProcessingPlugin folder below the program folder.


Add text and vector graphics

This plugin enables you to add text and vector graphics to an image. The plugin is based on MeeSoft Diagram Designer and the result can be exported in Diagram Designer format.

Download version 1.8 (dated 2015-05-31, size 588 kb)

This .DLL file should be placed in the ProcessingPlugin folder below the program folder.


Raster Export

Convert pictures to grayscale, RGB or CMYK raster using a circular, diamond or diffusion pattern.
The CMYK conversion can be done using either the build-in conversion algorithm or a look up table generated by your favourite CMYK software. To generate a look up table open All_colors_RGB.png in another program and save it in CMYK TIFF format. Now select this TIFF file in the raster export plugin under Use conversion table.



Download version 1.4 (dated 2011-04-18, size 231 kb)

This .DLL file should be placed in the ProcessingPlugin folder below the program folder.


Profile line

This plugin will show a plot of the pixel values along a line from one point to another.



Download (206 kb)

This .DLL file should be placed in the ProcessingPlugin folder below the program folder.


PCA Color Stretch

The PCA Color Stretch plugin can do a PCA transform of an image, stretch the components linearly to fill the PCA space and then do the inverse transform. This is related to the method known as decorrelation stretching, but (as far as I know) not exactly the same.

Download (71 kb)

This .DLL file should be placed in the ProcessingPlugin folder below the program folder.


8fb Plugin Interface

Interface to the popular 8bf image processing plugin format. This interface is based on SigmaPiHost by SigmaPi Design. Unfortunately it does not support all 8bf plugins and it is not completely stable.

Download (360 kb)
Download interface source code

Find 8fb plugins on the net


Developing image processing plugins

Download demo plugin source (154 kb)

This file contains the source code for two plugins - one made in C++ and one made in Delphi. Both contains the Image Analyzer plugin API definition. The C++ plugin demonstrates both editing the image in the active image window and creating a new image window. The Delphi plugin only demonstrates editing the pixels in the active image window, so if you are using Delphi I recommend looking at both examples.
The examples can also be used "the other way around": It is possible to integrate the Image Analyzer plugins into other programs by creating a similar DLL interface in the program.
There are no "hidden" features in the plugin system which are not available via the definitions in these examples. The 3D modeling plugin available for download here is based on the Delphi plugin demo.
Image processing plugin DLLs should be placed in the folder ProcessingPlugins below the Image Analyzer program folder.


Developing file format plugins

If you are interested in writing image file format plugins yourself for Image Analyzer, Commander and SmartMorph you can download ImageFileLib to see examples of how it is done. ImageFileLib contains C++ source code for the plugin for handling JPEG 2000, RAS, PNM, PGM and PPM, and it contains Delphi source for the TIFF plugin. The JPEG 2000 plugin in included with the Image Analyzer download.
File format plugin DLLs should be placed in the program folder (with the .EXE file). If it is placed in the Image Analyzer folder, both Commander and SmartMorph can find and use the plugins.





 

meesoft.com       Last updated 2024-01-30 by Michael Vinther       [Send e-mail]