Measuring smoke diffusion from consecutive images

3710
9
01-12-2016 09:08 AM
LauraBlackburn
New Contributor III

I have a number of jpegs (similar to that below) that show smoke moving out of a insect funnel trap over time.  I am interested in measuring the horizontal and vertical spread of the smoke.  I assume that I can do this using image analysis, but I have not done this type of analysis before.  I am looking for any ideas or tools that can be used to "track" the smoke movement.  I also noticed that I can symbolize these images in ArcMap using a vector field which is very interesting, but I do not understand how this visualization can be used.

Does anyone use the vector field symbology and if so, what for?

Any ideas or tips are greatly appreciated.

DSC_0361.jpg

0 Kudos
9 Replies
DanPatterson_Retired
MVP Emeritus

cool.  a big subtraction comes to mind assuming that this is a grey scale image.  The differences in intensity will hopefully allow you to monitor the increasing density of the smoke on a cell-by-cell basis.  There are whole load of things that I could think of, but can you entice us with a time sequence.  Those fiddly things in the background also provide some reference points should the camera not be perfectly aligned between time sequences. 

LauraBlackburn
New Contributor III

Hey Dan,

yes, these are black and white images.  And, the camera was mounted in a single position, so the frame of the image should be exactly the same for each image in the sequence.

One more question that comes to mind, is how to apply a scale to the image?  I have two photos that provide the horizontal (shown below) and vertical distance. Is there anyway to use these scale images to sort of georeference the series of smoke plumes images?

In the end, I would like to gather data on the diffusion and spread of the smoke in cm for each raster.

Any thoughts on this are much appreciated!scale side horizontal.jpg

0 Kudos
DanPatterson_Retired
MVP Emeritus

You will have the number of rows and columns for the image.  You can get a cell size by knowing the real world distance between two points on your image and the number of rows and columns between them.  ie each cell may represent a millimeter or so (don't take that number as a number but an illustration).  As long as your focal distance to the source and background remained the same, then your cell sizes will have remained the same. (Like aerial photography)

LauraBlackburn
New Contributor III

Thanks Dan!  That makes complete sense.  I guess I was just overthinking the scale issue.

In terms of processing the smoke images - I am interested in finding the boundary or extent of the plume.  Does anyone know of a simple way to extract that?

This video is currently being processed. Please try again in a few minutes.
(view in My Videos)

0 Kudos
DanPatterson_Retired
MVP Emeritus

yes, there are several ways, but the ideas is to make the whitish areas whiter and the darker areas darker then try an edge detection filter (not on an arcmap computer now) to see if the boundaries with obvious internal strays can be delineated.  As some stage subtracting the images will help you delineate the movement front and any internal  consistencies/differences.  I will think further, but in the interim, have a look at classification tool

LauraBlackburn
New Contributor III

Thanks Dan.  I'll look into the tools you mention.  I have been playing around in arcmap making all kinds of rasters, though I am not getting the results I would like.  I'll play around a bit more and see what I come up with.

Thanks for your advice and if anyone else has ideas please let me know.

0 Kudos
CodyBenkelman
Esri Regular Contributor

Laura

The segmentation tools within ArcGIS should be able to build a reasonable polygon around the plume.  You'll have to tweak the parameters to optimize the complexity of the resulting polygon (e.g. I presume you don't need to get every tendril of the plume) but you should be able to get a repeatable 2D extent from image to image.

If you can determine an approximate pixel resolution at the plume, you can estimate the size of the plume at least in the 2 dimensions you can see using the segmentation output. 

it appears from your photos that you're shooting horizontally over the ground, is that correct?  Do you want to put this data onto a map, or is your objective ONLY to estimate the volume and perhaps velocity? 

If you want the data on a map, you may want to consider summarizing the volume as a function of time & xy(z?) location as a single point (centroid) with attributes, rather than try to plot the extents of the plume on a map (although you could assume the shape is uniform, convert a horizontally-viewed polygon into a polygon that would have been observed from above, and put that onto the map). 


That opens up more questions about how to project horizontally from view point to plume centroid etc. but I wanted to be sure you know about the segmentation tools to measure the plume.  I hope this is helpful

Cody B.

XanderBakker
Esri Esteemed Contributor

As an alternative and if you're into Python there are ways to do this using packages like scikit-image. See: General examples — skimage v0.12dev docs 

LauraBlackburn
New Contributor III

Hey Cody,

I was just playing around with the segmentation tools last night and it seemed like a step in the right direction.  I do not need to map this data - I am mainly extracting data from the photos.  And, I do have both the horizontal and vertical views. My main objective with this is to create a database containing the width and height of the smoke plume spread for each photo.

Xander, yes I am very much interested in a python scripting approach!  I'll look into the package you mention.

Thanks so much to all of you for your thoughts and ideas on this.

Laura

0 Kudos