Most BioImage Suite applications include an image processing option on their menu bars. This enables acesss to two tools, the Histogram Control and the Image Processing Utility Control which are described in this page.
All BioImage Suite viewer applications store at least two images in memory at the same time, labeled as "Image" and "Results". This can be accessed under the Display menu. When an operation is performed on an image, the results are saved in the "Results" display of the viewer. This allows you to revert back to the original image, which still resides in the "Image" display. In order to perform further operations on a result image, you must choose (In order to perform further operations on a result image, you must choose (Display | Copy Results to Image). This will overwrite the Image display with the Results display. This process can be undone, uncommitting any changes that have been made and reverting back to the image in memory before copying results, by using the (Display | Undo Copy Results) command. The top two commands in the "Display" menu, "Image" and "Results" simply select which display image is shown. Choosing one does not delete the other -- the opposite display image is simply hidden. It can be accessed by switching back. It is important to note that most of the operations provided by the Image Processing toolbox and other analysis tools take the Image Display as input and send their output to the Results display. In order to work with them further, the results must be copied to the Image display.
Image Processing
The "Image
Processing" menu in the viewer window contains a group of tools that
allow you to manipulate the image in the viewer in a variety of ways.
You can crop and reorient it, change its resolution, find the edges in
the image, smooth it, and perform many other useful operations from
this menu. For all operations except the Histogram
Control which has its own window, a tabbed "Image Processing
Utility" window will appear, which allows you to quickly navigate to
the various image processing functions avaiable using the tabs on the
left. These match the choices in the Image
Processing menu. At the bottom of this window are a few buttons that
commit the results of the operations to the image:
Copy Results to Image
- this button is equivalent to the (Display | Copy
Results to Image) menu command (see Displaying
and Working with Results). You must click it after any
operation performed in the Image Processing Utility window if you want
the results to be permanent and able to be operated on by subsequent
processing steps.
Undo Copy Results - Undoes the copying of the "Results Display" to the "Image Display"; uncommits results.
intensities in the image distributed among a set of discrete bins. Unload Results - Removes all images from memory, so that they must be manually reloaded.
Close - Closes the Image Processing Utility window.
Undo Copy Results - Undoes the copying of the "Results Display" to the "Image Display"; uncommits results.
intensities in the image distributed among a set of discrete bins. Unload Results - Removes all images from memory, so that they must be manually reloaded.
Close - Closes the Image Processing Utility window.
Histogram Control
The Image Histogram viewer allows you to see how intensity values are distributed in your image. It can be accessed by choosing the (Image Processing | Histogram Control) menu option in the viewer window. This brings up the histogram control window, which shows theIntensity Range
You can edit the range of intensities displayed in the image (and thus, displayed in the histrogram control). Simply edit the values in the "Range" fields, and click Update. Hitting Reset resets the range to show the entire range of intensity bins in the image.Normalize
Coming soon.Histogram Equalize
Histogram Equalization attempts to flatten the histogram (ie, distribute intensities evenly across a range), thus providing good contrast in the image. Clicking the Histogram Eq button redistributes the intensities such that all bins below the grey cursor become zero, and all bins above the white cursor saturate to the value at the white cursor. The intensity distribution for the region between the cursors is flattened.Mouse Control in the Histogram Control Window
Left button - Use the left mouse button to click on and drag either the grey or white bar to the desired location. Also, clicking and holding with the left button anywhere on the histogram changes the top display bar to show that bin and its value.
Middle button - Clicking on the historgram with the middle button places the grey bar at the clicked location.
Right button - The right mouse button places the white bar. Right-click at any location in the histogram control window to make the white bar jump there.
Smoothing the Image
Selecting (Image Processing | Smooth Image) brings up the smoothing controls window, which contains a few different options for manually smoothing your image.Gaussian Smoothing
Gaussian smoothing creates a new image from the old image by taking an average of all pixels in an area around each pixel, called the kernel (whose size is determined by the "sigma" parameter), and applying that value to the pixel in the new image. To smooth with a Gaussian Kernel, choose the sigma (SD) value for the size of the kernel. since this represents 68% of the whole kernel size, the effective kernel size is ~1.5 times this value. Then click either Smooth 2D or Smooth 3D. Smoothing with the 2D option only smooths in-plane, over each slice individually. Smoothing in 3D smooths taking into account the valus of pixels in the slices above and below the plane of the voxel in question, the extent of which depending on the kernel size.Diffusion and Diffusion Gradient Smoothing
These smoothing algorithm take into account a threshold which you specify. If the intensities (or intesity gradients) of two adjacent pixels differ by an amount greater than the threshold, then no smoothing is performed across them. Thus, this type of smoothing is useful for smoothing homogeneous regions, while maintaining stark boundaries. It is performed in 2D (in-plane) only.Diffuse
This algorithm takes into account the raw intensities of pixels in evaluating the threshold requirement for smoothing. Thus, only the Thr field and Factor field must be specified. Click the Diffuse button to make the magic happen. This tool is useful for separating white matter from grey matter.DiffuseG
To use the Diffusion Gradient smoothing algorithm, set the Grad Thrfield along with the Factor and click the DiffuseG button. This will only smooth across pixels that do not have an intensity gradient difference greater than the threshold.Median Filtering
Median filtering operates by a similar mechanism to Gaussian smoothing, but instead of using an average of the surronding voxels to generate the new smoothed voxel value, it uses the median value of all the pixels in the median window radius. Thus, to use the Median Filter tool, simply set the window size ("Median Window Radius") and click either Median Filter 2D to compute medians using only in-plane voxels, or Median Filter 3D to compute medians using a 3-dimensional window that includes voxels in adjacent slices.Voxel Grouping
Voxel Grouping combines groups of voxels together, yielding a larger voxel with a single value. This simulates a lower acquisition resolution for the image, and is useful for comparing high-res images with lower-res images. The "In Plane" option sets the number of pixels to group into a single pixel within a slice, while the "Slice" option dictates the number of slices across which grouping will be performed. After setting these values, click Voxel Group! to do the grouping.Edge Detection
Coming SoonCropping and Reorienting
Reorienting an Image: The Axes
Reorienting an image is, essentially, choosing along which pair of axes the planes of the slices will lie. Thus, in BioImage Suite, if you define your image as "Axial", the XY plane will be in the axial slices. Likewise, choosing "Coronal" defines the coronal plane as the XY plane. This applies to sagittal as well.Thus, if your Image has the X and Y axes (red and green lines) in the coronal plane, and you would like them to be in the axial plane, simply go to the "Reorient/Crop" tab or choose the (Image Processing | Reorient/Crop) choice from the menu, and click the "Axial" radio button. The image axes will be redefined. These changes will be reflected in a new image that is placed in the "Results" view of the viewer. For these changes to be made permanent, you must click Copy Results to Image and then save the image from within the viewer.
Relabel
Clicking the Relabel! button does not affect the image for calculation or visualization puroposes, except to alter the image heading so that the views are labeled correctly. Thus, if you have an image in which, for whatever reason, the view that is actually coronal is labeled as "Axial" in the viewer, simply change the label settings using this feature. Note that these changes will not be saved unless you click the Copy Results to Image button and then save the image from within the viewer main window.
Cropping an Image
Cropping an image comprises removal of peripheral pixels along any of the three axes. This reduces the size of the image, significantly reducing computing time for subsequent image calculations, especially registration. Thus, it is advantageous to remove any excessive blank space from the edges of your image before performing other operations. Again, you must hit Copy Results to Image and then save the image for these changes to be permanent (and usable for subsequent processing steps - see Displaying and Working with Results).To crop an image to your specifications, first determine the boundaries of the region you want to retain, using the cursors in the viewer (See "Navigation controls in the viewer control panel" in Working with the Orthogonal Viewer Display). Then, input the max and min values for X,Y, and Z (you may choose to use all of these, two, or just one) using the "Range" fields. The t parameter for cropping is used to crop images with a time dimension. Thus, if you choose a t range, only the images from within this set of the time series will be included in the result. Now, click the Crop! button, and the image dimensions will change to fit the ranges you have specified. The lower bound in each dimension will become zero, and all data below it will be cut out, while the upper bound will become the maximum in that dimension of the image (the new maximum will be equal to the old maximum minus the summed amount cropped from both sides).
The "Rate" field specifies a sampling rate that can be applied to the image simultaneously to the crop operation. Thus, if you put two into the Rate field for X, the resulting image willbe resampled using only every other voxel in the X direction, lowering its resolution in this dimension, but leaving the others unchanged.
Blank! operates almost the same as Crop!, except it does not change the image dimensions. Instead of deleting the voxels outside the range altogether, it simply sets their value to zero. As with all these operations, you must copy the results to the image and save for the results to be permanent.
Reslice
Reslicing reevaluates the image as individual voxels and redefines the slices, effectively applying an affine transformation to the image. Thus, with this tool you can flip and rotate your image in all three dimensions.Transformation
Applying transformations to the image is very easy. Simply choose the flip or rotation operation you would like to apply from the "Transform:" menu: Identity - the
identity transformation does not change the image
Flip Slice Order(Z) - the slice order is reversed, flips in the Z-axis
FlipX - flip image in the X-axis
FlipY - flip image in the Y-axis
Transpose - performs matrix transposition on the image; that is, permutes X and Y: {X = Y and Y = X}. Essentially switches the X and Y dimensions
Flip Transpose - Transposes as above, but inverts as well: {X = -Y and Y = -X}. Essentially switches X and Y as well as performing a flip
Custom Rotation - Enables the RotX, RotY, and RotZ slider bars, allowing you to rotate the image any specified amount in any dimension
After selecting a transformation (and setting the rotation sliders if
"Custom Rotation" is selected, hit the Reslice!
button to perform the operation. The output will be shown in the viewer
(stored in the results display - to make permanent, you must copy the
results to the image - see Displaying
and Working with Results).
Flip Slice Order(Z) - the slice order is reversed, flips in the Z-axis
FlipX - flip image in the X-axis
FlipY - flip image in the Y-axis
Transpose - performs matrix transposition on the image; that is, permutes X and Y: {X = Y and Y = X}. Essentially switches the X and Y dimensions
Flip Transpose - Transposes as above, but inverts as well: {X = -Y and Y = -X}. Essentially switches X and Y as well as performing a flip
Custom Rotation - Enables the RotX, RotY, and RotZ slider bars, allowing you to rotate the image any specified amount in any dimension
Sampling
The sampling factor determines the voxel size on output. Thus, a factor of x2.0 results in an image that has voxels twice the size of the original. The overall image dimensions are unchanged, the resolution is simply changed by the sampling factor. A sampling factor < 1.0 will result in an image that has higher data density than the original, leading to increased computing times, while sampling factors > 1.0 will lower density, lowering subsequent computing time requirements.Use the "Sample factor:" menu to choose a rate at which to sample the image. The entries preceeded by "x" (e.g. "x0.5") use a scaled voxel size based on the current voxel size, while those without the "x" (e.g. "1.0") are absolute sampling rates. These are isotropic sampling parameters; if you want to sample at different rates in different directions, select the menu entry "Custom", and set the sampling rate for each dimension individually using the X,Y, and Z sliders.
Perform Math Operations
The Math Operations tab conatains a number of complex math functions that can be applied to the image data, including Fast Fourier Transformations and Sigmoid Scaling. These are updated often, and the user is invited to play with them and contact the developers if any questions arise.Threshold Images
Thresholding images is a fairly straightforward process. A threshold range is set, and any voxels whose values are outside this range are set to zero. As with most operations, results are saved in the "Results Display", and are only copied to the image (making them available for further calculations) when explicity directed by the user (see Displaying and Working with Results).Threshold Slider Bars
Use the "Low Threshold" and "High Threshold" slider bars to set the thresholds that will be applied to the image. All voxels with values outside the range specified by these sliders will be set to zero.Threshold Button
Click Threshold! to apply the threshold to the image.Binary Output
Checking the box for "Binary Output" changes the operation so that any voxel outside the threshold range is set to 0, while any voxel inside the range is set to the same arbitrary value: 0 (or 100 if the "x100" box is checked). Thus the result image contains only two values (useful for separating regions of interest).Inverse Output
Checking this option causes the output to be zero for values between the threshold range boundaries, as opposed to outside them. It can be used in combination with the "Binary Output" option to create a complimentary mask to the image.Piecewise Map
The piecewise map utility allows you to specify a piecewise linear function that maps input voxel intensities to new output intensity values. Thus, you can create a custom mapping function to generate many different types of output images.For any voxel value that you would like mapped to the new image, check the box next to its approximate level, enter the exact value you would like as an endpoint in the piecewise function in the "Input:" field, and the value you would like it mapped to in the "Output:" field. A linear mapping function will be created between each successive pair of points. In order to view the equation as it is being generated, click the Show Equation button, which will bring up a console showing the piecewise mapping function as defined by the input and output fields.
Output Type
The output type is the data type to be used to store the output values. The default is "Same as Input", which is self-explanatory. The other choices are arranged in order of increasing precision (and resulting file size).
Click the Multi Linear Operation button to perform the piecewise mapping operation on the image. As usual, the results will be placed in the "Results Display" of the viewer, and must be copied to the "Image Display" before any further processing can be done.

