Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Two point correlation function

  1. Oct 5, 2011 #1
    Hi

    I have two images and I want to compare the "structures" of them at different scales. I remember from cosmology that the two point correlation function was used to extract similar structural information from the CMB, generating a graph of structure Vs scale. Then at certain length scales you have peaks which correspond to physical occurrences.

    edit-this is the image I'm talking about.

    cmb-cmbpowerspectrum.png


    This is exactly what I'd like to apply to my image, but after searching the internet I can't find much that helps me actually numerically calculate this for an image. Does anyone know any good tutorials for actually doing this?


    It's my understanding that this method is favourable to taking a Fourier/cosine transform as these methods are biased towards finding structure along the x-y axes? My image is isotropic so I have no reason to care about one direction more than another.

    Any help or pointing me in the right direction would be brilliant, thanks
    Mike
     
  2. jcsd
  3. Oct 6, 2011 #2

    Chalnoth

    User Avatar
    Science Advisor

    Yeah, if you want to calculate this sort of thing for a flat, rectangular image, you just take the two-dimensional Fourier transform of the image (this doesn't bias things towards horizontal/vertical modes, by the way....it just as well represents diagonal modes). Then, once that's done, the image above is what is known as a "power spectrum": it is an estimate of the magnitude of modes of each size.

    So, if your FFT is defined as [itex]a(k_x, k_y)[/itex], then the power spectrum can be estimated by producing a series of bins where [itex]k_x^2 + k_y^2[/itex] are approximately equal, and averaging [itex]aa^*[/itex] in each bin.

    A rather easy way to do the binning would be to, for each [itex]k_x, k_y[/itex] pair, compute [itex]\sqrt{k_x^2 + k_y^2}[/itex], and the bin it goes into is the nearest integer.
     
  4. Oct 6, 2011 #3

    Chronos

    User Avatar
    Science Advisor
    Gold Member

    Measuring the amplitude and separation between peaks is the important part of this exercise. The first two peaks are solid. It gets squishy after that. You can't ignore data sets because they don't match the model.
     
  5. Oct 6, 2011 #4
    Thanks Chalnoth - I already wrote a kind of distance binning algorithm, just didn't know how to use it.

    Chronos- I'm not sure I understand your reply, I'm not ignoring any data.
     
  6. Oct 6, 2011 #5

    Chalnoth

    User Avatar
    Science Advisor

    No problem! If you have any further questions, feel free to ask. This kind of thing is what I do :)

    ...and I think he misread you.
     
  7. Oct 7, 2011 #6

    Chronos

    User Avatar
    Science Advisor
    Gold Member

    Apologies, I never meant to suggest anyone was ignoring data.
     
  8. Oct 7, 2011 #7

    Chronos

    User Avatar
    Science Advisor
    Gold Member

    Apologies, I never meant to suggest anyone was ignoring data.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook