Compilation of well-known thresholding methods from scikit-image library: Otsu, Multi-Otsu, Yen, IsoData, Li, Mean, Minimum, Local, Niblack, Sauvola Triangle, Hysteresis.
We strongly recommend using a virtual environment. If you're not sure where to start, we offer a tutorial here.
pip install ikomia
[Change the sample image URL to fit algorithm purpose]
from ikomia.dataprocess.workflow import Workflow
from ikomia.utils.displayIO import display
# Init your workflow
wf = Workflow()
# Add algorithm
algo = wf.add_task(name="skimage_threshold", auto_connect=True)
# Run on your image
wf.run_on(url="https://cdn.pixabay.com/photo/2023/09/10/00/49/lovebird-8244066_960_720.jpg")
# Display result
display(algo.get_output(0).get_image())
Ikomia Studio offers a friendly UI with the same features as the API.
-
If you haven't started using Ikomia Studio yet, download and install it from this page.
-
For additional guidance on getting started with Ikomia Studio, check out this blog post.
- local_method (str, default="Otsu"): Method used for thresholding. Must be one of:
- "Otsu"
- "Yen"
- "Iso data"
- "Li"
- "Mean"
- "Minimum"
- "Local"
- "Niblack"
- "Sauvola"
- "Triangle"
- "Multi otsu"
- "Hysteresis"
You can find more information about what these methods do and what are the complementary parameters here skimage doc
Note: parameter key and value should be in string format when added to the dictionary.
from ikomia.dataprocess.workflow import Workflow
# Init your workflow
wf = Workflow()
# Add algorithm
algo = wf.add_task(name="skimage_threshold", auto_connect=True)
algo.set_parameters({
"local_model": "Iso data",
"isodata_nbins": "128",
})
# Run on your image
wf.run_on(url="https://cdn.pixabay.com/photo/2023/09/10/00/49/lovebird-8244066_960_720.jpg")
Every algorithm produces specific outputs, yet they can be explored them the same way using the Ikomia API. For a more in-depth understanding of managing algorithm outputs, please refer to the documentation.
from ikomia.dataprocess.workflow import Workflow
# Init your workflow
wf = Workflow()
# Add algorithm
algo = wf.add_task(name="skimage_threshold", auto_connect=True)
# Run on your image
wf.run_on(url="https://cdn.pixabay.com/photo/2023/09/10/00/49/lovebird-8244066_960_720.jpg")
# Iterate over outputs
for output in algo.get_outputs():
# Print information
print(output)
# Export it to JSON
output.to_json()