Upload
pedro-correia
View
19
Download
0
Embed Size (px)
Citation preview
jimFusion Satellite image manipulation
SOFTWARE FEATURES QUICK GUIDE
* jimFusion was made almost specifically for research purposes and it does not intend to replace well established SIG or image manipulation software. Also notice that its support is limited to the “crew” available in CERENA research center.
Developer tools
Base tools: • Python • Numpy • Scipy
User interface: • wxPython
3D visualization: • Mayavi
Image manipulation: • PIL
Main menu
TOOLBAR
OBJECTS
VIEWER
There are three main areas in this software: toolbar, object management, and object viewer. Everything can be done through these sections*.
* The layout of the software may change depending on the version (on the left is the first version).
Main menu - toolbar
With this button you can import image files (TIFF). It will appear a file dialog from which you can select the file you want to import.
With this button you can import columned ASCII files. It will appear a file dialog from which you can select the file you want to import. The user will have to input the number of blocks in each direction and if more than one column exists one file only the last one will be considered.
From here you can export data that is inside jimFusion into either image (TIFF) or
ASCII columned files. The TIFF uses a type of variable that goes from 0 to 255 so make sure that you normalize your data before you export it.
Here you can make all sorts of definitions in the way you want to view or interpret your data. Other specifications (like background color and so on) can only be done in the viewer.
This is the “about this software” information. Who’s the developer, license, and so on...
Import Data
If you select import ASCII you should give the number of blocks in each direction and than select the file you wish. For TIFF the process is even simpler. Just load the TIFF file directly from the file dialog. After data the object will appear in the object management section.
Main menu – object management
In the object management section this is what you’ll see. Notice that no object exists yet on the manager. But if so I would appear with its name (when you load a file a name will be given to that object but can be changed easily) like a list in the white square.
A single click will get the object selected (up). A double click will also bring the object to the viewer (down).
NOTE: Right click will delete (if user says yes) object.
Main menu – object specifics
For organization purposes you can change some details of your object when selecting it. If you change the name, size or first coordinate in the object specifics section (you must press enter to actually change something) you’ll notice that it will actually change those specifics on the object. The only essential information is the number of blocks in each direction.
Object viewer
The object viewer only views one object at a time but its pretty easy to move around. Its mouse and keyboard interactive (make sure you click on the viewer to manipulate it) and you can edit some of its traits by going to the viewer “configure the scene” button.
By default the background is silver white but I’ve changed it to white (foreground -> labels to black) and now I have something more of my preference.
Object viewer – Types and layout
The buttons on the viewer are pretty self explaining. You can choose the perspective (X,Y,Z, isometric), insert orientation glyph or toggle full screen. You also have a save icon that plots the current figure to file. There are several types of objects the viewer can plot. Such as image plot (left figure), histogram and variogram (below).
Plots such as variogram are dynamic which means there can be changes in real time to adequate a variogram model, for instance. But there’s a catch. Since all happens in an equal scale in all axis the value of the variogram or the probability in histogram are not true values but manipulated values to plot something easily visualized on screen. Interiorly jimFusion works with the real values so the user can
work with what it’s visualizing.
User definitions
• Use variable range: Auto for natural variable range of each object, Full to the 0 to 255 range.
• Use colormap: colormap to plot variables, default is jet (blue to red, passing on green and yellow).
• Show as: Image, Surface or Contour. If Surface the variable range will be changed (surface gives spatial weight to the value of the variable representing a 3D object).
• Division for Zscale: This is the number for each the variable of an object is divided when shown as surface (because 255, for example, will give a pretty high altitude for the surface making it difficult to visualize).
Image Surface
Types of plot
There are three main types of plot objects: • Spatial: double click on the object. • Histogram: press the histogram button. • Variogram: press variogram button.
Image Surface Contour
Spatial
Histogram Variogram
Univariate section
The Univariate section gives you access to both histogram (that we’ve seen before) and variable transformations (changing the variable to range = 0->255). Available variable transformations are: • Equalization: meaning histogram equalization. Good to
improve image contrast. • Normalization: transforms from variable range to 0->255
range with linear interpolation. • Sigmoid: used sigmoid exponential function to transform
variable.
Histogram equalization
Normalization
Sigmoid
Filtering and attributes section
The filtering and attributes section gives us algorithms to create new object through filters and attributes (that’s unexpected!!!)*. The attributes go from autocorrelation (using one or two images) to correlograms. In the filtering part we have three of choice, each with its own purpose. Uniform filter, Median filter and Gaussian filter. For the Uniform and Median, the number on the right means moving window size. For Gaussian means standard deviation.
Uniform
Median
Gaussian
* In the first version of the software there is a lot of research being conducted in the attributes sections and some algorithms may give unexpected results.
Slicing and manipulation section
This sections allows us to crop our objects spatially (for instance in a grid of 100 by 100 blocks, creating a new object from the first 50 blocks in each direction), better said slicing. Also allows us to resize (using nearest criteria in the first version of the software) our object by giving the new number of blocks in each direction.
Resize
Slice
Variography section
The variogram button calculates the experimental variogram of the object (if big may take a while, see the progress bar). After finishing the variogram object will appear in the viewer. You can choose which model to use, the sill (screen values), the range in each direction. For you to see the blue line of the model you need to check the checkbox at the right of the model choice. Once you’ve done it the blue lines should appear and be automatically refreshed every time the sliders and sill values are changed.
Notice that even the variogram is 3D so you’ll be having points over the X axis for variogram in the X direction and over the Y axis for the Y direction.
Downscaling data
With resize algorithm you can actually downscale your grid but this method is far from flawless since the user doesn’t have any control on the downscaling process (it uses nearest criteria*).
* Further versions may have other choices for resize using the PIL library, such as BILINEAR, BICUBIC or ANTIALIAS.
template