Message Boards Message Boards

Digital Image Correlation or Particle Image Velocimetry?

Posted 10 years ago
Attachments:
4 Replies

Hey,

I just wanted to update the forum on progress. I was able to use the nuance of Photoshop to dial in the subtract features and achieve results like these.

For developing this technique, some alignment algorithms that don't deform the image could be really useful, but for me it's easier to do this manually in Photoshop than to achieve it in Mathematica.

Attachments:

Marco, thanks for such a thorough reply! It seems I was headed in the wrong direction and these images represent some great progress.

I put Mathematica down for a while and did some more research on the most algorithms to use for this problem. This article seems to demonstrate the most success, as there are several scales of phenomena visible, especially using Brox's algorithm. I have followed their instructions for capturing the images, so I think the weakness in my images is in the image-processing.
https://www.cs.ubc.ca/nest/imager/tr/2008/Atcheson_BOS_EiF/

Example Background-Oriented Schlieren Technique

The subtract function is good for making the phenomena visible, and I'm able to enhance it somewhat in Photoshop, but the underlying problem is that it is only identifying disturbance, rather than quantifying the amount of disturbance. The images are more intense where the air moves fastest, but they aren't nearly as clear as the images in this paper. Are any of the image functions capable of running more nuanced algorithms for tracking movement from one image to another?

Attachments:

By the way, this is what you get with ImageCorresponding points:

   Show[ImageResize[images[[1]], 300], 
 Graphics[{Green, Disk[#[[1]], 2]} & /@ 
   Transpose[
    ImageCorrespondingPoints[ImageResize[images[[1]], 300], 
     ImageResize[images[[2]], 300]]]], 
 Graphics[{Red, Disk[#[[2]], 2]} & /@ 
   Transpose[
    ImageCorrespondingPoints[ImageResize[images[[1]], 300], 
     ImageResize[images[[2]], 300]]]], 
 Graphics[{Thick, Line[#]} & /@ 
   Transpose[
    ImageCorrespondingPoints[ImageResize[images[[1]], 300], 
     ImageResize[images[[2]], 300]]]]]

which gives

enter image description here

so this does not really appear to be useful for you.

Cheers, Marco

POSTED BY: Marco Thiel

Hi Alexander,

I don't think that ImageFeatureTrack will work here. It is quite simple to visualise the differences between the two images:

ImageSubtract[images[[1]], images[[2]]] // ImageAdjust

enter image description here

You can also colorise that:

Colorize[ImageAdjust[ImageSubtract[images[[1]], images[[2]]]], ColorFunction -> "ThermometerColors"]

enter image description here

You can then zoom in onto one of the pins

img=ImageTrim[Colorize[ImageAdjust[ImageSubtract[images[[1]], images[[2]]]], ColorFunction -> "ThermometerColors"], {{270., 420.}, {460., 630.}}]

enter image description here

You can make the structures a bit clearer with

MorphologicalBinarize[img] // Colorize

I particularly like this one:

MorphologicalComponents[Binarize[img]] // Colorize

enter image description here

I know that this is not what you want, but as I said I think that ImageFeatureTrack will not work well.

If you draw the Key Points you get

Show[Graphics[{Green, Disk[#, 5]} & /@ ImageKeypoints[images[[1]]]], 
 Graphics[{Red, Disk[#, 5]} & /@ ImageKeypoints[images[[2]]]]]

enter image description here

the thing is that even the number of key points does not match up. 7180 in one and 7186 in the other. there is no reason to assume that they "match up". In fact if you draw lines between them that looks horrible:

Graphics[Line /@ Transpose[{ImageKeypoints[images[[1]]][[1 ;; 7180]],  ImageKeypoints[images[[2]]][[1 ;; 7180]]}]]

enter image description here

This command does something similar to what you want; it produces still error messages, because some points are missing, but never mind.

Show[images[[1]], Graphics[{Green, Disk[#, 5]} & /@ features[[1]]], Graphics[{Red, Disk[#, 5]} & /@ features[[2]]], Graphics[{Thick, Line[#]} & /@ 
 Transpose[{features[[1]], features[[2]]}]]]

enter image description here

I can fix the missing problem if you want.

Cheers, Marco

POSTED BY: Marco Thiel
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract