Help viewing cool flame pressure changes at 3000FPS shadow-graph

Hello all,

I am an image processing novice, and I need advice on an important problem. I am observing a small fuel droplet burning in intense environments, and I am recording the time at which flame/pressure waves form. I have been practicing my own methods, but I am still far from a reliable method to find proper timing on the cool flame formation (It starts somewhere near the bottom, travels up, and ignites the fuel droplet). I am not sure how to add stack files on these posts, but I will put a picture.My high fps videos are Shadow-graphs

Key is, these waves should be the only things moving each frame but they have such a low reading early on

My current process is as follows:

  1. Duplicate one of the first few slices (I’ll call it Background Slice)
  2. Invert both the stack and the background slice (I do this as the waves show up as lower intensity pixels)
  3. Run an image calculation and do Difference of the original stack and the background slice (This removes a great deal of screen smudges)
  4. Raise the brightness and contrast to about 5 ticks away from their MAX (This obviously causes some unavoidable noise)
  5. Maybe smooth the image?

Even after all these steps, I’m still caught guessing at what frame my cool flame starts. I’ve played with some thresholds as well. I’m novice level here, so I can’t add attachments. If I can provide more info in any way I will.


It’s fun to play around with, but I’m no good. ANY HELP would be so so appreciated.
Thank you,

Another picture, showing the formation at the bottom.
If I could somehow get a macro to give me accurate frame timing

Hello vnechev,
That seems to be an interesting study. If you simply respond to this inquiry you should be able to upload more details, such as the FPS and acquisition timing, sometimes referred to as ISO.

1 Like

I’m not sure what the file limit is for responses, but I attached the 10 initial frames for screen smudge removal as well as 40 or so slices where I am “Pretty sure” the flame is barely visible with my own editing.

These frames have timestamps on the top, for a camera at 3000 FPS. Is this what you mean by ISO?


First10ForBGRemoval.tif (10.0 MB) (16.9 MB)

Hello Vasko,

No, the FPS (Frames per second) are different. The ISO is the amount of time the aperature of the camera is open, and for how long which is important data, especially if you will be applying math to the data. I will look at the images and get back with
you as soon as possible.


1 Like

Memrecam HX-7s Specification Sheet.pdf (445.3 KB)

I am not sure what mode I am using, but I was told I am running at 3000FPS or so.
My Guess is 10,000 ISO but I may be very wrong. I’m curious how this applies?

I think I know how to best explain the issue. I am trying to see change in pixel color or a derivative in the z direction. I can’t find a decent plugin yet, but the what also makes this challenging, is the low intensity changes produced by these waves. You need high contrast to see them, but this causes a lot of noise.

Example pixel intensity over time (Read left to right, top to bottom).
2 50 2 50 2 50
3 51 3 51 3 51
4 52 4 52 4 52
These numbers vary a ton frame to frame, but the general trend of change over time is what I’m looking for.


I have analyzed your sample sequence differencing consecutive frames but only random noise is visible.

Can you confirm the frame number in which the pressure wave forms?

I have analyzed only this part of the images:


1 Like

Hello vnechev,
I apologize for the delay in responding, quite busy.
I noticed first that the math of the time stamps does not lend itself to much actual analysis, for instance:
1.259333 sec. trig start to time of acquisition start. Why?
3000 fps = 3.33333333e-4 sec per frame
41 images = 0.0136666666…… require this much time for visualization, but only has 0.13334, a missing frame perhaps?
16.516993 start – 16.530327 end = 0.013334 dff
actual= 0.013666…
At 3000 fps, this is a very large discrimation. If the flame front is as fast as you indicate it probably occurred even before the acquisition of images began.
Sorry, but I think something is afoul,

1 Like


here’s a crack I had it. The steps were:

  1. Make a median projection of the background.

  2. Subtract this from the flame wave starts here.

  3. The image is false coloured with the Phase LUT so that negative regions are blue and positive are red:

As mentioned above, there isn’t much happening in this section of the time-lapse, a longer or more spaced out series could be more interesting.

The results would be improved is the background is collected with the setup just before experiment is run. For example, collect 500 frame before the flame is ignited, then collect time lapses after ignition. This will make the apparatus disappear when the background is subtracted, but its really easy to segment and overlay it.

Attached is commands in script form.



run("Z Project...", "projection=Median");

imageCalculator("Subtract create 32-bit stack", "FlameWaveStartsSomewhereHere4.tif","MED_First10ForBGRemoval.tif");

setMinAndMax(-25, 25);
1 Like

Hi @smith_robertj

Apologies as well for the late response, I had a foot injury that prevented me from getting back to my work computer. Trig start measures something physical in the experimental rig we designed. It is used determine when the droplet actually enters the our oven compared to what we see on the camera. Also I looked into our camera, the fps follows a pattern of 3003,3003,2994 every three frames which averages out to 3000 fps.

The timing was never an issue but thank you for your concern, I hope this clears it up?

Hello @evenhuis

I realized that the section I included was not long enough, my mistake. The entire file is around 30 Gigabytes of which I can probably cut down to 2 Gigabytes by compressing and removing useless frames. I’d still have no clue how to send such a large file over the internet though, I wish I could.

However, this phase LUT stuff looks really, really interesting! Thank you for bringing this to m attention as I will definitely look into it further.


Hello @B0RJA,

I mentioned this in another response just a minute ago, but I do not know how to include a file large enough to encompass the event. My raw tiff folders hold around 12,000 or so frames so I’m not sure how to share them.

Regarding your results, what sort of process did you do on the (few) images I was able to provide?

There are several free services to share files up to 2GB like WeTransfer.

I just difference consecutive frames to detect the flame dynamics.

Another remote but simple option, if the images are compressed, is to analize the size of the different image files as a sequence. If the flame ignition increases the image entropy, the file size will be increased too. If this is the case, plotting the file size of all the images will allow to detect the flame ignition time as a maximum in the series.

Given you have so many frames and assuming the flame ignition is audible, an experimental idea to delimit the ignition time could be to use a voice recorder. A cheap voice recorder registers 44k samples per second, allowing to precisely determine the time of an audible event. To sync the images and the sound you just have to record a clapperboard like in the cinema. In mi case, I used and Arduino with a led and a buzzer. The blink of the led was visible on the images and at the same time the buzzer was switched on and registered on the voice recorder.


Sorry about the foot.

If the flame temperature is different from the environment have you tried isolating it by the difference in color temperature (weins displacement law)?

Interesting project, just curious.


That’s an interesting idea. I had to look up Wein’s displacement law (I’m actually still a student). My boss told me that the issue arises with the fact that the background temperature can be 700k and the cool flame would jump to around 800k or so. And due to how small the flame is compared to everything else in the chamber at 700, it might be too hard to notice? If we could figure out a sensor for this application it would solve so many problems. We are currently looking into a photo multiplier tube with filters to test for radiation from a formaldehyde by-product, but it is not working yet.

(Edit:) Also I believe solids work well with black body radiation, but gases emit only certain wavelengths I thought?


I will look into this entropy idea! I think I would need to limit the FOV to only the region where the flame should be starting, but I like this.

I’m not sure how audible a small droplet combustion would be. Especially a if I’m trying to find the cool flame, which is very small, slow, and most likely dwarfed by sounds in the hot/pressurized chamber.

I’ll see if I’m allowed to share the whole image sequence and share it back here.


Hello there Vasko,

Aren’t we all students if we enjoy learning? I’m old but still learn something new every day.

You may already have the best sensor to use if its resolution is fine enough to tell the color temperature. If the background is smooth enough that is.

I’ll see what I can deduce mathematically . I don’t think you would need something as expensive as a photo-multiplier setup for this, but it may be good to have for other investigations.

Good luck and keep me updated if you can.


1 Like

We still rely on a tiny thermo-couple which was not pictured. It can somewhat read cool flame temperature but that’s about it. Our high-speed camera is set up as a shadow-graph, similar to Schlieren, which reveals variation in fluid density by looking at the second derivative of the index of refraction. (Schlieren looks at the first).
Not sure how to get temperature from a grey scale looking at 2nd derivative Index of refraction.


@smith_robertj @B0RJA @evenhuis

Hi all, Thanks to B0RJA I was able to figure out how to share some of these files.
To put more detail, there are two main scenarios I have as shown:
Inc file contains the slices with the cool flame, BGR is the first 50 for background removal if nec.


Easy Scenario:
-No ambient background movement, subtracting the first slide from the rest and raising contrast shows the flame decently.
My Goal: I want to find the cool flame as soon as possible and And maybe remove human bias and let a program decided when it has started, once I get time I will look into the Entropy idea mentioned above asap. I think the entropy idea will work in this case but not the next, as only the flame wave is moving.

Hard Scenario:
-Lots of ambient background movement, subtracting the background slide highlights the useless extra circulation waves. The cool flame start is hard to find underneath the noise of the rest of the waves!

Here is my current best solution to solving the hard problem, I basically subtract the 6th previous slide as the back ground. This hopefully shows the waves better as they change.

Dialog.create(“Cool Flame Finder”);
Dialog.addNumber(“Look-Back Range”,6);; //StartTheMacroBox

//Need to start at frame 0+lbr for this to work

for (i=Runtime;i!=0+lbr;i–){
run(“Select All”);
setMinAndMax(-6, 19);

This is somewhat in depth at this point, not expecting anyone to spend ridiculous amounts of time on this! I’m already thankful for the help as is :slight_smile: