Skip to content, Skip to search

Changes

BioVoxxel Toolbox

490 bytes added, 8 October
SSIDC Cluster Indicator
| software = ImageJ / Fiji
| name = BioVoxxel Toolbox
| author = Jan Brocher{{Person|BioVoxxel}}, Thorsten Wagner{{Person|Twagner}}
| website = [http://www.biovoxxel.de/index.html www.biovoxxel.de]
| maintainer = Jan Brocher{{Person|BioVoxxel}}| latest version = 1115. August October 2015| source =[httphttps://wwwgithub.biovoxxel.de/BioVoxxel%20Macro%20Toolset/BioVoxxel_Plugins.jar BioVoxxel Plugins], [http:com//www.biovoxxel.de/BioVoxxel%20Macro%20Toolset/BioVoxxel_Toolsets.zip BioVoxxel ToolsetBioVoxxel_Toolbox GitHub]
| category = [[:Category:Particle analysis|Particle analysis]], [[:Category:Binary|Binary]], [[:Category:Filtering|Filtering]]
}}You can setup an automatic update for the BioVoxxel Toolbox. Just run the [[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://imagej.net/Following_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).
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.
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 (current version: 2.5.0)
Suggestions are welcome!
Purpose: 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|550px770px]]
How to: The user needs to specify one of two parameters:
2.) Convexity threshold: if 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.
 
3.) Separator size: the separator size describes the length of the one-pixel line separating connected particles. Thus, the user can specifically choose a size range in which the particle connections should be separated. Additionally, the option "exclude" enables to exclude the specified sizes and separate only connections which are smaller than the lower and bigger than the upper limit.
Form: plugin, recordable
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
form of Pseudo Flat-field correction: plugin
Status: maintenance active, problems with specific stacks (fill be addressed soon)
Future: suggestions are welcome!
----
=Median Background Subtraction (deprecated)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 tool enables to subtract create plots which can be overlayed by choosing "add to existing plot". In the background from an image by contruction case of a background image by applying 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 median filter new plot line is added to a copy of an existing plot the choice "Draw grid lines" is either ignored or forced depending on how the original image and subtracting this from destination plot was created using the originalsame tool.
How to[[File: 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 setScaledIntensityPlots.png|750px]]
The dilation method runs a grayscale dilation (if bigger 0) on the median background. This might be helpful because the median filtering slightly reduces the complete outline of bigger objects and thus results in a final ring artefact around bigger structures after subtraction. The maximum value for dilation is 3. Form: macro
If the image contains dark features on Status: deprecated ---- =Stack Line Plots= Purpose: The stack line plot enables to make line plots over a bright background this needs to be indicated and will result in the inversion complete stack of the imageimages. The final image needs to be inverted manually by the user if desired ([Shift] + [i]);
How To: The line can be either straight, freehand or segmented and needs to be drawn beforehand. If the subtraction plot checkbox input image is activated (recommended), a hyperstack the user will be able can choose to check plot over the subtraction event along z-slice or the t-frame range. In such a predifined straight line selectioncase the intensities of the active channel are taken for the plot. The line can be drawn before macro automatically creates a stack of plots along the macro is run. If no line selection exists, with the macro will ask to draw one (only works with straight lines). The subtraction plot shows upper intensity limit set at the original highest intensity distribution occurring along the defined line (gray), over all images. If the intensity distribution of [Shift] key is held down before and while going to >BioVoxxel Icon >Stack Line Plots the constructed median background (red), the intensities of the median background by offset limit is set to 255 for 8-bit images and dilation (green), and the final intensity plot after subtraction (blue). This might indicate potential need 65535 for further improvement.16-bit images
[[File:MedianBackgroundSubtractionStackLinePlots.png|750px]]
Form: macro
Status: deprecated, no active maintenance
----
=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 =Scaled Intensity Plot20%). 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]]
PurposeOutput: 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 filter will 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 applied directly on the same scalinginput image. The latter It is done in unscaled units undoable (pixelsby pressing [z]). 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.
[[FileLimitation:ScaledIntensityPlotsSo far, the filter is only applicable on 8-bit and 16-bit single images.png|750px]]
FormInstallation: macroPart of the BioVoxxel update site in Fiji and can be found under {{bc | Plugins | BioVoxxel}}
StatusForm: maintenance activeplugin, recording still not fully functional!!!
FutureStatus: potentially also display using scaled units! ----maintenance active
=Stack Line Plots=Future: Will be adjusted für 32-bit float-type images as well as RGB images and stacks. Suggestions are welcome!
Purpose: The stack line plot enables to make line plots over a complete stack of images. ----=Recursive Filters=
How ToPurpose: The line can be either straight, freehand or segmented and needs recursive filters plugin allows to be drawn beforehand. If repetitively apply one of the input three basic image is a hyperstack filters (Gaussian Blur, Mean, Median) with small radii (max = 3) by adjusting the user can choose to plot oover the z-slice or the t-frame rangeiteration. In such a case the intensities of the active channel are The previously filtered image will then be taken as basis 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 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 imagesnext image filtering
[[File:StackLinePlotsThe 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.png|750px]]
Form[[File: macroRecursiveFilters01.png|500px]]
StatusForm: maintenance active!recordable plugin
FutureStatus: will be implemented for 32-bit images as well. The upper intensity limit will be made individually adjustable. Suggestions welcome!maintenance active
----
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]]
----
 
=SSIDC Cluster Indicator=
 
Meaning: Shape and size invariant DBSCAN based clustering
 
Pronounce: S-SID C like "acid" C ;-)
 
Purpose: Indicating clusters of binary image objects after segmentation based on a shape and size invariant density based clustering [https://de.wikipedia.org/wiki/DBSCAN DBSCAN]
 
Advantage and HowTo: the algorithm detects clusters of any size, shape and number! The user does not need to have any prior knowledge or estimation of a number of clusters (as for e.g. k-means).
The only input needed is the isotropic distance (in pixel) the user wants (epsilon in DBSCAN) to check around each object and a desired minimum density (number of objects inside the given distance). The algorithm reaches out equidistantly from the object shape. Therefore, amorphous shapes of particles do not matter. Furthermore, the size is not relevant, since the distance is taken from the outside of the object.
If size and shape should be ignored, the plugin can be run on the thresholded (min=1 max=255) ultimate points of the binary objects [►Process ►Binary ►Ultimate Points]
Clusters are also detected in an overlapping but still separate manner if some objects might belong to several clusters but do not belong to their core points.
 
Output: The output is on purpose very sparse and gives only the ImageJ ROI Manager. From there cluster numbers and individual amount of objects per cluster can easily be analyzed e.g. using a macro on the ROI manager and the corresponding image
 
Application: The algorithm was already successfully applied in the quantification of clusters from different cell populations in microscopic mouse retina samples [Link once the manuscript is accepted and published]
 
Limitation: works on 2D binary images only and does not detect clusters inside other clusters
=Cluster Indicator=
(depricated)
Purpose: The "Cluster Indicator" is thought to detect local particle clusters in a binary image. Different particle sizes can be taken into account.
Form: plugin, recordable
Status: maintenance active Future: Suggestions are welcome!stable, not further actively maintained
----
=Skeleton Length (corrected)=
Purpose: 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 to, a correction is needed to get the complete particle length. How to: Start with an image holding the binary particles and run the macro. Exclude particled as desired as for the normal "Analyze Particles". MethodStatus: The correction of the skeleton length 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 deprecated due 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 activeincorrect calculation
FuturePlease rather use the [http: Suggestions are welcome!//imagej.net/AnalyzeSkeleton Analyze Skeleton 2D/3D] which is shipped with Fiji
----
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 {{bc | 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 {{bc | Plugins | BioVoxxel}}
 
Form: plugin, recording still not fully functional!!!
Status: maintenance active
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
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