Skip to content, Skip to search

Changes

BioVoxxel Toolbox

2,284 bytes added, 06:15, 17 July 2018
no edit summary
| software = ImageJ / Fiji
| name = BioVoxxel Toolbox
| author = Jan Brocher{{Person|BioVoxxel}}, {{Person|Twagner}}
| website = [http://www.biovoxxel.de/index.html www.biovoxxel.de]
| maintainer = Jan Brocher{{Person|BioVoxxel}}| latest version = 1115. July 2014October 2015| source =[httphttps://wwwgithub.com/biovoxxel.de/BioVoxxel%20Macro%20Toolset/BioVoxxel_Toolbox.zip BioVoxxel ToolboxGitHub]
| category = [[:Category:Particle analysis|Particle analysis]], [[:Category:Binary|Binary]], [[:Category:Filtering|Filtering]]
}} '''For Fiji users:''' You can setup an automatic update for the BioVoxxel Toolbox. Just run the Fiji update [[Updater]] ({{bc | Help | Update...}}) and switch in the main window to 'Advanced mode'. Then click on 'Manage update sites'. Here you simply need to activate the "BioVoxxel" . See here how to follow an update site [http://fijiimagej.scnet/List_of_update_sitesFollowing_an_update_site follow an update site].
You will find all functions of the BioVoxxel Toolbox under the icon of the green BioVoxxel cube after selecting BioVoxxel Toolbox from the More Tools Icon (last Icon in the ImageJ/Fiji Icon list with the double arrow).
=Extended Particle Analyzer=
Purpose: The "Extended Particle Analyzer" is based on the ImageJ "Analyze Particles..." command. It enables the user to further restrict the analysis on particles according to many more parameter spezifications of shape descriptors and angle orientations. Thus, setting minimal and maximal exclusion ranges of different parameters enables to extract particles from a binary image. The output types are the same as for the >{{bc | Analyze >| Analyze Particles}}.
Example: If you want to extract/analyze only particles with a certain Feret's Angle or exclude elongated structures using the aspect ratio (AR) or circilarity you can specify so in the initial dialog box.
[[File:AdvancedParticleAnalyzerExtendedParticleAnalyzer v2.png|750px]]
How to: Key in minimal and maximal exclusion values connected with a hyphen. You can use integers as well as numbers containing decimal places. "Redirect" redirects the analysis to a grayscale image which enables to analyze skewness, kurtosis as well as the new measure coefficient of variance (cov). The option "Keep borders (correction)" eliminates particles from 2 edges and keeps particles touching the two borders of choice. This corrects the particle count for edge touching particles.
 
Tipp: use the "Shape Descriptor Maps" macro to figure out possible cut-off value combinations for your analysis which you can then use in the Extended Particle Analyzer.
Shape descriptors which are not available under "Analyze Particles..." in IJ or Fiji so far are:
Coefficient of variance (CoV) = [intensity standard deviation] / [intensity mean]
 '''The new version from 11th February 2018 (included from BioVoxxel_Plugins-2.0.1) on contains 2 checkboxes which enable the choice between pixel and calibrated units in images which are spatially calibrated. The checkbox "Pixel units" is equivalent to the checkbox with the same label in the standard IJ Analyze Particels... function and uses pixels instead of calibrated units to limit the analysis with the respective parameters. The checkbox "output in pixels" gives the option to separately choose if the results table should be in specific units or pixels (depending on the image calibration). Older Macros should still run, while the keyword "pixel" needs to be shifted before the definition of the area parameter.'''  Form: plugin (recordable, ''uses smart recording--> records only fields which have been changed by the user while recording. Default entries will not be recorded. It is already sufficient to cut a zero after the comma without changing the actual parameter value to make the recorder recognize that the entry should be recorded!'')
Status: Maintenance active
 
'''The Advanced Particle Analyzer is deprecated but still available as macro under the BioVoxxel Toolbox dropdown menu.'''
Suggestions are welcome!
----
=Watershed Irregular StructuresFeaturesPurpose: The standard watershed algorithm in ImageJ is very usefull to separate connected, roughly circular structures. Nevertheless, it gets into trouble while separating irregular (non-ellipsoid like) structures. The Irregular Watershed enables the user to separate also irregular shaped structures to a certain extend. [[File:Watershed_Irregular_Features.png|770px]] How to: The user needs to specify one of two parameters:
Purpose1.) Erosion cycle number: The standard watershed erosion cycles to be used for the separation algorithm in ImageJ is very usefull . "0" prevents watershedding. Since increasing numbers use a decreasing size of selector for the separations to separate connectedbe skipped, roughly circular structuresa too high number might result in unwanted separation in the peripheral regions of the features. Nevertheless, it gets into trouble while separating irregular structuresIncreasing numbers lead to results closer to the standard IJ watershed. The Irregular Watershed enables separation only works in the 2D space at the user to separate also irregular shaped structures to a certain extendmoment and has its limitations when the connecting "bridges" between the features are too broad (as true for the normal watershed algorithm).
[[File2.) Convexity threshold:WatershedIrregularFeaturesif this value is above "0" the erosion cycle number is ignored. All objects which have a convexity bigger than the threshold are kept in the image and eroded. If eroded objects coincide with separation lines of the original watershed, those remain in the image and are not used to separate the objects. The sequence of convexity thresholding and consecutive erosion is repeated until there is no object remaining with a convexity above the threshold or the image cannot be eroded any further.png|550px]]
How to3.) Separator size: In one dialog the user needs to specify separator size describes the number length of erosion cycles to be used for the separation algorithmone-pixel line separating connected particles. "0" prevents watershedding. Since increasing numbers use Thus, the user can specifically choose a decreasing size of selector for range in which the separations to particle connections should be skippedseparated. Additionally, a too high number might result in unwanted separation in the peripheral regions of option "exclude" enables to exclude the features. The separation specified sizes and separate only works in connections which are smaller than the 2D space at the moment lower and has its limitations when bigger than the connecting "bridges" between the features are too broad (as true for the normal watershed algorithm)upper limit.
Form: plugin, recordable
Status: maintenance active
Thanks to Thorsten Wagner which provided the ij-blobs library as basis and the idea to integrate convexity as a second parameter to make the function scale invariant and more flexible.  Future: other erosion algorithms will potentially be included to improve the watersheddingSuggestions are welcome!
----
=EDM Erosion and EDM DilationBinary Operations=
Purpose: The standard binary erosion and dilation suffers from the artefact that under higher iteration cycles the binary structures get irregularly deformed (see image below, second column). The EDM based methods for erosion and dilation prevent these artifacts. The method is using thresholding on a 8-bit euclidean distance map of the original image to facilitate the binary erosion or , dilation, opening and closing.
[[File:EDMErosionDilation.png|600px]]
How to: The number of erosion/dilation cycled iterations determines how many rows of pixels should often the chosen function will be eliminated/added applied to the binary featuresimage.
Form: macroplugin (with preview, recordable)
Status: works only on 2D imagesstacks now, maintenance active
Future: suggestions are welcome!
Potential issues: If the user does not correctly define if he/she is looking for bright or dark objects the output will be incorrectly determined.
'''Publication:''' [http://www.cscjournals.org/csclibrary/manuscriptinfo.php?ManuscriptCode=67.68.67.74.39.50.44.51.104&JCodemc=IJIP&EJCode=65.66.65.72.106&Volume=54.100&Issue=47.101 -829 Qualitative and Quantitative Evaluation of Two New Histogram Limiting Binarization Algorithms].
J. Brocher, Int. J. Image Process. 8(2), 2014 pp. 30-48
Future: Suggestions are welcome!
----
=Filter Check=
 
Purpose: This plugin enables you to test a certain range of radii of a specified image filter in one step. This shoud facilitate a better decision on a suitable filter for your processing purpose.
 
How to: Choose a filter method from the drop down menu, key in a starting and an end radius. The image will be filtered in individual integer steps between the start and stop radius and presented in an image stack containing all the filtered images. The filter can also be applied to only a ROI. This is recommended for filters which are cost intensive, like the "Gaussian Weighted Median".
The parameter setting is only needed for the "Bilateral Filter" (range radius) , "Mean Shift Filter" (Color Distance) and the "Linear Kuwahara" (line length).
 
[[File:Filter Check.png|750px]]
 
Form: plugin
 
Status: maintenance active
 
Future: potentially additional filters will be added
----
How to: You need either choose the two images in the "Flat-field" version or specify a gaussian blurring radius for the "Pseudo flat-field correction" in a way to eliminate specific feature appearance but to keep the difference in shading/lighting. Therefore, rather big radii (sigma) are needed (potentially between 40-150, but this depends on image and feature size).
Remark: The pseudo flat field correction menu command links to the plugin with the same name under >{{bc | Plugins >| BioVoxxel }} (necessary to additionally download from the BioVoxxel update site together with the Toolbox).
Advantage of the Pseudo flat field correction: This is now recordable and works with stacks. Thus, time-lapse movies e.g. from a brightfield microscope can be completely corrected for unequal lighting according to the individual differences in each frame. The blurring is visualized on the currently active frame to be able to sufficiently eliminate structural information.
----
=Median Convoluted Background Subtraction= Purpose: This tool enables to subtract the background from an image by contruction of a background image by applying a median filter to a copy of the original image and subtracting this from the original. How to: The user can first specify a median offset as well as a dilation. The median offset is a pixel intensity value which will be subtracted from the median background before the actual subtraction. Thus, the subtraction can be reduced (or enhanced with negative values) to correct for a too high (too low) estimation of the background (see red and green arrowheads below). In most cases the median background is slightly too high and an offset needs to be set.
The dilation method runs Purpose: This tool enables to subtract the background from an image by creating a grayscale dilation (if bigger 0) on convoluted copy of the median backgroundoriginal image and subtracting the filtered image from it. This might be helpful because the median filtering slightly reduces the complete outline of bigger objects background subtraction method should facilitate consecutive feature extraction and thus results in a final ring artefact around bigger structures after subtraction. The maximum value for dilation is 3. not suitable prior to intensity analyses!
If How to: The user can choose between Gaussian, Median and Mean convolution filters and key in the respective filter radius (or sigma for the image contains dark features on Gaussian Blur). The preview option directly gives a bright background this needs possiblity to be indicated and will result in compare the inversion results of the imagebackground subtraction. The final image needs to radius for the Gaussian method can be inverted manually by chosen around the user if desired biggest feature diameter ([Shift] + [i]as for the rolling ball method);. The median and mean methos might need bigger values to avoid elimination of bigger features!
If the subtraction plot checkbox is activated (recommended), the user will be able to check the subtraction event along a predifined straight line selection. Method: The line can be drawn before convoluted images are directly subtracted from the macro is run. If no line selection exists, original with exception of the macro will ask to draw median filtered one (only works with straight lines). The subtraction plot shows the original intensity distribution along the defined line (gray), the intensity distribution latter additionally receives a grayscale dilation by application of a maximum filter with the constructed median background factor (red), the intensities of the median background by offset and dilation 1.5*(greenradius/10), and the final intensity plot after subtraction (blue). This might indicate potential need for further improvementshould reduce artifacts around object borders.
[[File:MedianBackgroundSubtractionConvoluted Background Subtraction.png|750px]]
FormDistribution: macroplugin, recordable
Status: maintenance active!
=Scaled Intensity Plot=
Purpose: The tool creates a intensity plot along any kind of lines as well as from rectangular selections (as does >{{bc | Analyze >| Plot Profile}}) but with the initial possibility to influence the displayed intensity scale. This enables to create plots which can be overlayed by choosing "add to existing plot". In the case of a rectangular selection it can be chosen if the plotting direction should be horizontal or vertical. The intensities along the other direction are then averaged. Additionally, the color and look of the plot line can be chosen.
This should enable to better compare intensity plots from different images or selections which is only possible if they have the same scaling. The latter is done in unscaled units (pixels).
If a new plot line is added to an existing plot the choice "Draw grid lines" is either ignored or forced depending on how the destination plot was created using the same tool.
Purpose: The stack line plot enables to make line plots over a complete stack of images.
How To: The line can be either straight, freehand or segmented and needs to be drawn beforehand. If the input image is a hyperstack the user can choose to plot oover over the z-slice or the t-frame range. In such a case the intensities of the active channel are taken for the plot. The macro automatically creates a stack of plots along the line selection with the upper intensity limit set at the highest intensity occuring occurring along the line over all images. If the [Shift] key is held down before and while going to >BioVoxxel Icon >Stack Line Plots the limit is set to 255 for 8-bit images and 65535 for 16-bit images
[[File:StackLinePlots.png|750px]]
Future: will be implemented for 32-bit images as well. The upper intensity limit will be made individually adjustable. Suggestions welcome!
 
----
=Adaptive Filter=
(separate plugin under {{bc | Plugins | BioVoxxel}})
 
Purpose/How to: This filter allows the choice between two basic filter modes (''median'' and ''mean''). The filter ''Radius'' defines the size of a square kernel (so actually not really a radius but to keep the entries intuitively similar to other filters in Fiji this label was chosen).
The ''Shape'' option enables a basic pre-selection of pixels from the kernel neighborhood to be taken into account for filtering. After pressing 'Ok', a checkbox grid will be displayed from which the user can adjust the selected pixels for the final filter according to the filtering needs (e.g. to remove power lines in a photograph).
 
''Tolerance'' sets a threshold which will change intensity values after filtering only for those pixels where the difference to the original intensity is at least as high as the tolerance (0.2 = 20%). This enables to remove extreme outliers from the image while preserving the original pixel values in image areas without such outliers (at least for shot noise).
 
In the image below the upper pannels show the original photograph and a version with artificial shot noise added. The lower pannels depict the noisy image after a median filter (radius=2) or after the Adaptive Filter (radius = 2 and tolerance set to 0.2) using a circle-like kernel.
 
[[File:AdaptiveFilter.png]]
 
Output: The filter will be applied directly on the input image. It is undoable (by pressing [z]).
 
Limitation: So far, the filter is only applicable on 8-bit and 16-bit single images.
 
Installation: Part of the BioVoxxel update site in Fiji and can be found under {{bc | Plugins | BioVoxxel}}
 
Form: plugin, recording still not fully functional!!!
 
Status: maintenance active
 
Future: Will be adjusted für 32-bit float-type images as well as RGB images and stacks. Suggestions are welcome!
 
----
=Recursive Filters=
 
Purpose: The recursive filters plugin allows to repetitively apply one of the three basic image filters (Gaussian Blur, Mean, Median) with small radii (max = 3) by adjusting the iteration. The previously filtered image will then be taken as basis for the next image filtering
 
The maximum iteration can be set by the user up to 500 times but will be stopped if two consecutive filtered images do not show any further difference.
 
[[File:RecursiveFilters01.png|500px]]
 
Form: recordable plugin
 
Status: maintenance active
----
----
=2D Particle Distribution=('''formerly: Distribution Analysis=''', name changed due to redundency with BoneJ function naming)
Purpose: This macro statistically determines if particles (according to their ultimate eroded point, UEP) in a 2D image are likely to be randomly distributed, self-avoiding or build clusters.
Method: The UEPs of the particles are generated and the nearest neighbor distance is determined for each particle. According to particle number and analyzed area the theoretical nearest neighbor distance is calculated using the formula: 0.5*sqrt(area/n) (according to J. Russ, The Image Processing Handbook, 2010, 6th Edition). This assumption ignores differences in particle size, so far.
It is assumed that in the case of normally distributed particles, the mean equals the median. Thus, the method is implemented for the comparison of both, mean and median, from the assumption with the measured values. The measured (mean or median) nearest neighbour distance is statistically compared to the theoretical one. Therefore, first a suitable test method is determined according to the homogeneity of the variance using an F-Test. This finally decides about the use of either a Student's T-Test or a Welch Test for the final statistical evaluation.
 
'''BE AWARE:''' This tool estimates the type of clustering or exclusion since it does not take non-isotropic shape into account and WORKS ONLY on complete, rectangular images and NOT inside irregular ROIs. This might be changed in future.
[[File:DistributionAnalysis.png|750px]]
=Cluster Indicator=
Purpose: The "Cluster Indicator" is thought to detect local particle clusters in a binary image. Different particle sizes are can be taken into account.
How To: Choose a cluster detector size as a circle radius in pixels.
Two possible methods can be chosen:
1.) "average NDNND" uses the inverted 32-bit Voronoi image as measure of the between-particle (border-to-border) distances to all of their neighbors. This accounts for differences in particle size as well as shape. The average neighbor distance is taken to intensity code the centroid point in the evaluation image.
2.) "UEP centroid NND" uses the ultimate eroded point map and intensity codes the points according to their nearest neighbor distance. This method is faster especially for big images with many particles but neglects differences in particle size and shape. Therefore, might only be applicable if all particles are equal in size and shape.
Each individual cluster finding process is aborted if a local cluster was not found after the specified number of maximal iterations. Those aborted clusters can be shown as blue ROIs in the image if desired (see checkbox).
Clusters overlapping more than 40% (minimal center-ROI overlapat least 1 pixel) can also be fused to one cluster if specified soby the respective checkbox.
Consider that the detector size as well as density settings influence if a cluster is found and finally accepted as a cluster. This on the one hand leads to a certain bias but should enable the user to search for clusters of different sizes and densities.
Method: Circle ROIs of the specified size are initially distributed with sufficient overlap to cover the complete image. The cluster finding process is done according to the mean shift method towards the center of mass of clusters. The latter is influenced by particle number, size and neighbor distance.
Form: macroplugin, recordable
Status: maintenance active
=Skeleton Length (corrected)=
PurposeStatus: This macro determines the length of particles along their ultimate eroded skeleton, applying the "Skeletonize" function on binary particles. Since the skeleton is shorter than the actual particle it belongs deprecated due to, a correction is needed to get the complete particle length.incorrect calculation
How toPlease rather use the [http: Start with an image holding the binary particles and run the macro//imagej. Exclude particled as desired as for the normal "net/AnalyzeSkeleton Analyze Particles". Method: The correction of the skeleton length Skeleton 2D/3D] which is achieved by adding the intensity values (raw integrated density) of the particles distance map at the position of the 2 endpoints of each skeleton. This gives a fairly good estimated correction. Limit: The obvious limit of the method is that a branched skeleton leads to the determination of the corrected length of all branches. This can be an advantage if this measure is desired but corrupt analyses where a sinlge length measurement is desired. Form: macro Status: maintenance active Future: Suggestions are welcome!shipped with Fiji
----
[[File:NearestNeighborIndicator.png|750px]]
 
Download source: [http://www.biovoxxel.de/BioVoxxel%20Macro%20Toolset/Nearest_Neighbor_Indicator.ijm Nearest_Neighbor_Indicator.ijm]
Form: macro
=Gaussian weighted Median filter=
(separate plugin under >{{bc | Plugins >| BioVoxxel}})
Purpose/How to: This filter is basically a normal median filter (as in ImageJ/Fiji) but with a weighted filter matrix. The radius is given in pixels. The weight is determined automatically by a 2D gaussian function (approximated to integer values) over the size of the filter grid. Thus, pixel closer to the filter center get a higher weight compared to more distant ones. This reduces the intensity homogenizing effect from a normal median filter but increases the edge-perservation of features.
Limitation: So far, the filter is only applicable on 8-bit and 16-bit single images.
Installation: Part of the BioVoxxel update site in Fiji and can be found under >{{bc | Plugins >| BioVoxxel}}
Form: plugin, recordable
 
Status: maintenance active
 
Future: Will be adjusted für 32-bit float-type images as well as RGB images and stacks. Suggestions are welcome!
 
----
 
=Adaptive Filter=
(separate plugin under >Plugins >BioVoxxel)
 
Purpose/How to: This filter allows the choise between two basic filter modes (''median'' and ''mean''). The filter ''Radius'' defines the size of a square kernel (so actually not really a radius but to keep the entries intuitively similar to other filters in Fiji this label was chosen).
The ''Shape'' option enables a basic pre-selection of pixels from the kernel neighborhood to be taken into account for filtering. After pressing 'Ok', a checkbox grid will be displayed from which the user can adjust the selected pixels for the final filter according to the filtering needs (e.g. to remove power lines in a photograph).
 
''Tolerance'' sets a threshold which will change intensity values after filtering only for those pixels where the difference to the original intensity is at least as high as the tolerance (0.2 = 20%). This enables to remove extreme outliers from the image while preserving the original pixel values in image areas without such outliers (at least for shot noise).
 
In the image below the upper pannels show the original photograph and a version with artificial shot noise added. The lower pannels depict the noisy image after a median filter (radius=2) or after the Adaptive Filter (radius = 2 and tolerance set to 0.2) using a circle-like kernel.
 
[[File:AdaptiveFilter.png]]
 
Output: The filter will be applied directly on the input image. It is undoable (by pressing [z]).
 
Limitation: So far, the filter is only applicable on 8-bit and 16-bit single images.
 
Installation: Part of the BioVoxxel update site in Fiji and can be found under >Plugins >BioVoxxel
 
Form: plugin, recording still not fully functional!!!
Status: maintenance active
=Enhance True Color Contrast=
(separate plugin under >{{bc | Plugins >| BioVoxxel}})
Purpose: This image filter enhances the contrast of true color images similar to the method Enhance Contrast in Fiji. If the latter would be applied to true color images this leads to a change in color values and saturation. This unwanted effects are eliminated by the recordable "Enhance True Color Contrast" plugin. It preserves color tone and saturation while enhancing the contrast in the brightness channel of the HSB color space. This is done using high precision float value calculation and not by a simple conversion o fthe image to HSB color space as available in ImageJ/Fiji. The latter would lead to a loss in quality since due to conversion and back-conversion to RGB.
=Mode and Differential Limited Mean Binarization=
(separate plugin under >{{bc | Plugins >| BioVoxxel}})
Purpose: The mode-limited mean (MoLiM) and the differential-limited mean (DiLiM) are two binarization algorithms which initially limit the image histogram according to its mode value (MoLiM) or its mode, an initial mean or the median (DiLiM). A more detailed description can be found under:
[http://www.cscjournals.org/csclibrary/manuscriptinfo.php?ManuscriptCode=67.68.67.74.39.50.44.51.104&JCodemc=IJIP&EJCode=65.66.65.72.106&Volume=54.100&Issue=47.101 -829 Qualitative and Quantitative Evaluation of Two New Histogram Limiting Binarization Algorithms].
J. Brocher, Int. J. Image Process. 8(2), 2014 pp. 30-48
The limitation step eliminates all intensity information in the histogram up to the limit (mode, mean or median) and calculates a new mean value which is taken as final threshold. "Force to smaller partition" anables to extract the pixels which occupy rather the smaller histogram partition besides the limit.
Download: Part of the BioVoxxel update site in Fiji and can be found under >{{bc | Plugins >| BioVoxxel}}
Form: plugin, recordable
All BioVoxxel Macros were developed by Jan Brocher{{Person|BioVoxxel}}
The macros can be freely used, redistributed and changed according to the GNU GPL BSD-3 License v3.0.
For questions, comments and suggestions please contact: jan.brocher(at)biovoxxel.de
There is NO WARRANTY of functionality for those macros.
In no event neither Jan Brocher {{Person|BioVoxxel}} nor BioVoxxel shall be liable to any party for direct, indirect, special, incidental, or consequential damages or data loss of any kind arising out of the use of this software and its documentation, even if advised of the possibility thereof.
[[Category: Particle analysis]]
279
edits