Skip to content

Ikomia-hub/skimage_threshold

Repository files navigation

Algorithm icon

skimage_threshold


Stars Website GitHub
Discord community

Compilation of well-known thresholding methods from scikit-image library: Otsu, Multi-Otsu, Yen, IsoData, Li, Mean, Minimum, Local, Niblack, Sauvola Triangle, Hysteresis.

Results

🚀 Use with Ikomia API

1. Install Ikomia API

We strongly recommend using a virtual environment. If you're not sure where to start, we offer a tutorial here.

pip install ikomia

2. Create your workflow

[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())

☀️ Use with Ikomia Studio

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.

📝 Set algorithm parameters

  • 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")

🔍 Explore algorithm outputs

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()