Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Locating and Tracking Ultrasound Contrast Agents (UCAs)
Ultrasound (US) is a safe and non-invasive imaging method commonly used in healthcare and clinical applications due to its high spatial and temporal resolution. However, there are areas of the body where low contrast makes it difficult to obtain high quality images needed for medical diagnosis. This limitation led to the development of microbubbles that can be injected into the circulation to increase contrast between tissue and surrounding vasculature. These microbubbles, with diameters typically between 1 and 10 micrometers, are known as ultrasound contrast agents (UCAs).
UCAs have a potential application in targeted drug delivery because the fluctuating pressure field associated with the ultrasound waves exerts a net force on the microbubbles that can be used to manipulate them inside the human body. This phenomenon, known as the Bjerknes force, needs to be further explored and quantified since it can potentially be used to direct the microbubbles towards a targeted area. The microbubbles could then be used to help image small blood vessels that support the growth of a tumor, and they could potentially be used to suffocate the tumor by expanding in these small vessels (embolism). It is also possible that these bubbles can be used for intracellular gene-delivery. Previous theoretical and experimental work explored the dynamics of UCAs under ultrasound excitation. It showed the Bjerknes force arising from the phase difference between incoming US pressure waves and bubble volume oscillations can be used to manipulate the trajectories of microbubbles. This work has contributed a significant understanding of microbubble behavior in quiescent or uniform flows; however, it has not focused on microbubbles in physiologically realistic flows. Our work explores the behavior of microbubbles in medium sized blood vessels under both uniform and pulsatile flows at a range of physiologically relevant Reynolds and Womersley numbers.
In our experiments, high-speed images are taken of microbubbles in a simulated in-vitro flow loop that replicates physiological flow conditions. During the imaging, microbubbles are insonified at different diagnostic ultrasound settings (varying center frequency, pulse repetition frequency, etc.), allowing us to characterize the effects of ultrasound on microbubbles. An in-house Lagrangian particle tracking algorithm is used to determine the trajectories of the microbubbles which inform and validate a dynamic model for the microbubbles that includes: Bjerknes force, drag, lift, and added mass. We use ImageJ/FIJI, an open source image processing program, to post-process the high-speed images taken for each experiment. Each experiment contains 5500 images (~10 GB) taken at 1000 frames per second. First, we threshold the images using built-in ImageJ/FIJI functionality to separate the bubbles from the background of the image. Next, we use a function to extract information about the size and location of the bubbles. This information is saved in a ‘txt’ file, which is used as the input for our particle tracking code. While our approach is promising, there are a large number of ‘false’ bubbles detected in this process which affects the results of our particle tracking code.
Previously, we have utilized built-in global and local thresholding algorithms in ImageJ/Fiji; however, these algorithms do not perform well due to the low contrast between the microbubbles and the background in our images. There are a large number of ‘false’ bubbles detected which affects the results of our particle tracking code. In order to improve our results, we would like to do the following:
Improve image segmentation: We will determine the best image segmentation algorithm to use with low-contrast images in order to separate the microbubbles (foreground) from the background of the images and to minimize the number of ‘false’ bubble detections.
Detect in-focus particles: We will use a learning algorithm such as K-means to determine whether or not a particle is in focus, as out-of-focus particles produce spurious tracking results. We propose using the mean greyscale intensity value of the particle or the degree of contrast between the particle and the surrounding background pixel values as input to the algorithm.
Validate results using ground truth images: We can assess how well the segmentation algorithm works by using synthetic images generated to have similar particle seeding and contrast levels as our experimental images. With synthetic images, we know the exact location and size of the particles in each image, so we can quantify the performance of the segmentation method.
Remove image flicker: normalize background
The success of this project is the creation of open source code in either python or ImageJ/Fiji that can be distributed through a broader microbubble (particle) tracking repository. This can also result in a plugin developed for use in ImageJ to more easily segment low contrast images if we are able to develop a streamlined approach for image segmentation. The success of the code will be defined by the following:
Development of a repeatable and reliable method to segment low contrast images of microbubbles.
Successful detection of in focus microbubbles.
Validation of segmentation using synthetic truth images.
Validation of performance of the learning algorithm for detection of in focus microbubbles by seeing how well it performs on a test dataset after it has been trained on a training dataset.
Additionally, we will publish the results obtained from the image processing and particle tracking in a series of three papers looking at different ultrasound settings and flow conditions.
Thorough exploration of available image segmentation methods along with code testing the most promising methods (based on results of ~100 sample images).
Creation of synthetic images to evaluate image segmentation.
Hand marked locations of in focus microbubbles for ~100 images (enough to generate ground truth)
Validation of image segmentation results using synthetic images.
Machine learning code to detect in focus microbubbles using hand marked locations of ground truth
Incorporation of results with tracking code
Write up results