Skip to main content

Tools to segment doppler ultrasound signals from scan images.

Project description

Doppler Segmentations

These codes make up the framework for segmenting the doppler ultrasound scans.

Table of Contents

Installation

  • To install as a dependency for your project:
pip install usseg

or

poetry add usseg

Development Environment

To install the development environment follow the following steps.

  • Clone this repository and change into the directory.
  • Install poetry as per the installation instructions.
  • Install tesseract as per the intallation instructions.
    • Note that the project has only been tested with tesseract version 5.
  • Install the package dependencies with:
poetry install

  • Enter into the development shell with:
poetry shell
  • You are now in the development environment!
  • Copy config_example.toml to config.toml and change the variables for your local set up (e.g. path to your data etc.).
  • The main script can now be run in one complete run with python usseg/main.py.
  • If debugging in vscode, ensure the python interpreter is set to the virtual environment created poetry. This path can be found using poetry env info --path

Ultrasound Segmentation Package

The Ultrasound Segmentation Package facilitates two primary blocks of functionality: text extraction from images and ultrasound image segmentation. Each block consists of a sequence of functions designed to work independently yet contribute collectively to the overall process.

Text Extraction Process

  1. colour_extract_vectorized: Filters the image to highlight a specific target colour of pixel, preparing it for text extraction.
Colour Extract Vectorized
  1. Text_from_greyscale: Processes the filtered image to extract text, matching lines to specific target words.
Text Extraction
  1. Metric_check: Performs a common-sense check on the extracted measurements using knowledge of their interdependencies and known physiological limits, ensuring data accuracy.
Data Extracted
Following the successful extraction and validation of text data, the workflow transitions to the image segmentation process.

Image Segmentation Process

  1. Initial_segmentation: Begins with a coarse segmentation of the waveform.
  2. Define_end_ROIs: Defines regions adjacent to the coarse segmentation.
Initial Segmentation
  1. Segment_refinement: Refines the segmentation within the coarse boundaries.
Segment Refinement
  1. Search_for_ticks: Identifies ticks in the axes ROIs for accurate scaling.
  2. Search_for_labels: Locates labels within the axes ROIs for data extraction.
Search for Ticks Search for Labels
  1. Plot_Digitized_data: Digitizes the extracted data to plot the waveform.
Plot Digitized Data
  1. Plot_correction: (Optional) Adjusts the time axis based on heart rate data.
  2. Annotate: Visualizes the segmentation steps on the original image.
Annotate

Each function in these sequences plays a vital role in the overall process, which aims for accurate data extraction. For more in-depth information about each function, please refer to the detailed descriptions in the here section of this documentation.

Usage Examples

Some introduction to examples...

Processing a Single Image

For processing a single image, the data_from_image function is imported and provided with PIL and cv2 versions of the image. This could be done through the following code:

# Module imports
import numpy as np
from PIL import Image

# Local imports
from usseg import data_from_image

img_path = "Path/to/a/ultrasound/image.JPG"

PIL_image = Image.open(img_path)
cv2_image = np.array(PIL_image)
df, (xdata, ydata) = data_from_image(PIL_image, cv2_image)

Batch processing images

python usseg/main.py

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

usseg-0.7.1.tar.gz (49.0 kB view hashes)

Uploaded Source

Built Distribution

usseg-0.7.1-py3-none-any.whl (50.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page