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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file usseg-0.7.1.tar.gz.

File metadata

  • Download URL: usseg-0.7.1.tar.gz
  • Upload date:
  • Size: 49.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for usseg-0.7.1.tar.gz
Algorithm Hash digest
SHA256 bc092bd79a016d857e9f0e3b6d2fd6b21d41b329dbfc24c78b21cd876b087be4
MD5 ef9eb81b8c5b75a5d59ee74adb5f9b5f
BLAKE2b-256 e3c80801c23c288bcc5b660e6b36709c8bf3a6bc2787d280cad6094ce6613d91

See more details on using hashes here.

File details

Details for the file usseg-0.7.1-py3-none-any.whl.

File metadata

  • Download URL: usseg-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 50.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for usseg-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 112cd23305c66f2983e43b30a73efac7437aa39a558892676537459397c077ff
MD5 a60309388bbb68dc159cf7c29bd4133b
BLAKE2b-256 dd4976cec2afc06dfe29f643af6ca8672e8cfff6ced42e9e4c6db7952928df8e

See more details on using hashes here.

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