-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: Started to describe some more commands
- Loading branch information
Showing
6 changed files
with
423 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
|
||
(command-blur)= | ||
# Blur | ||
|
||
:::{sidebar} Filter kernel | ||
|
||
In image processing, a kernel, convolution matrix, or mask is a small matrix used for blurring, sharpening, embossing, edge detection, and more. | ||
This is accomplished by doing a convolution between the kernel and an image. | ||
Or more simply, when each pixel in the output image is a function of the nearby pixels (including itself) in the input image, the kernel is that function. | ||
|
||
|
||
|
||
```{figure} images/blur_kernerl.drawio.svg | ||
:class: full-image | ||
``` | ||
|
||
https://en.wikipedia.org/wiki/Kernel_(image_processing) | ||
::: | ||
|
||
Blur algorithms are used to reduce image noise and details. | ||
|
||
ImageC provides two different blur algorithms, "normal" blur and Gaussian blur. | ||
For both the filter kernel size can be set. | ||
The larger the kernel, the more details are removed from the image. | ||
|
||
Gaussian blur uses a Gaussian function to blur the image. | ||
Compared to the normal blur gaussian blur tends to preserve edges slightly better and avoids sharp transitions between blurred regions. | ||
|
||
:::{hint} | ||
Bigger filter kernels removes more noise and details from the image. Use gaussian blur to preserve edges in a better way than normal blur. | ||
::: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
|
||
(command-rolling-ball)= | ||
# Rolling ball | ||
|
||
:::{sidebar} Thresholding | ||
|
||
|
||
The rolling-ball algorithm was inspired by Stanley Sternberg’s article, “Biomedical Image Processing”, IEEE Computer, January 1983. | ||
|
||
```{figure} images/rolling_ball_reseacrh_gate.jpeg | ||
:class: full-image | ||
``` | ||
|
||
::: | ||
|
||
|
||
The rolling ball algorithm is a background subtraction algorithm, with the goal to remove most of the background noise. | ||
|
||
This is achieved by creating a local background around a virtual ball. | ||
Within the radius of the ball, the average intensity is calculated. | ||
This is done for the entire image. | ||
The result is subtracted from the original image. | ||
|
||
This port from ImageJ contains two ball types, a spheral ball and a paraboloid. | ||
A paraboloid handles edges more gently, reducing the appearance of artifacts along boundaries. | ||
This is beneficial in applications such as microscopy, where accurate boundary representation is essential. | ||
|
||
:::{hint} | ||
The radius of the ball should be set to at least the size of the largest object that does not belong to the background. | ||
::: | ||
|
||
:::{note} | ||
The implementation in ImageC was taken from the original ImageJ and ported to C++ based on the NIH Image Pascal version by Michael Castle and Janice Keller of the University of Michigan Mental Health Research Institute. | ||
::: | ||
|
||
|
||
|
Oops, something went wrong.