Fast Fourier Transform (FFT) power spectrum angle

Click For Summary
SUMMARY

The discussion focuses on using Fast Fourier Transform (FFT) to analyze the orientation of fibers in medical images using MATLAB. The user has tiled the images and calculated the Fourier transform but is seeking assistance with computing the inertia matrix of the FFT power spectrum. A suggestion is made to utilize a quick arithmetic technique involving sampling the circumference of a circle around subsections of the image to determine the principal direction of fibers through peak analysis. The method emphasizes the importance of fiber width for effective processing.

PREREQUISITES
  • Understanding of Fast Fourier Transform (FFT) in MATLAB
  • Knowledge of Principal Component Analysis (PCA)
  • Familiarity with inertia matrix calculations
  • Experience with image processing techniques in MATLAB
NEXT STEPS
  • Research how to compute the inertia matrix of the FFT power spectrum in MATLAB
  • Learn about using PCA for fiber orientation analysis in medical imaging
  • Explore techniques for image tiling and processing in MATLAB
  • Investigate methods for peak detection and harmonic fitting in signal processing
USEFUL FOR

Researchers and practitioners in medical imaging, image processing engineers, and data analysts working with fiber orientation analysis in MATLAB.

physical101
Messages
41
Reaction score
0
Dear Physics Buddies,

How are well all, okay I hope. I was wondering if I might browse all your infinite intellects and ask you a very simple question.

I am working with some medical images in MATLAB and my collaborators would like to know the orientation of the fibres that it contains.

So far I have:

Tiled the images (with an increasing tile size of the power of 2)
Calculated the regions ft

Then I was going to use PCA to find the largest eigen vector and declare that as the most dominant orientation for this region. However, I am a little stuck.

Someone suggested using the interia matrix of the ft power spectrum. This involves computing:

∑(ki,kj)(ki-kic)(ki-kic),∑(ki,kic)(ki-kic),(kj-kjc)
∑(ki,kj)(ki-kic)(kj-kjc),∑(ki,kj)(kj-kjc)(kj-kjc)

I am using brocploc in MATLAB and so I was wondering if any of you guys new of quick ways to compute this for image?

Hoping you can help

Physical101
 
Physics news on Phys.org
I guess the method used would be highly dependent on the patterns in the image and the colour / grey scale format. Are you trying to measure the principal axis in each subsections of the image or over the whole of the image? The fibres must be significantly more than 2 pixels wide to process the image.

I would consider a quick and dirty arithmetic technique such as sampling the circumference of a circle described on each subsection. By accumulating the absolute differences of sequential pixel values around the circle and saving all the values you will have a ramp with variable slope. Now subtract a linear fit to put the final value at zero. The resulting plot will have two peaks and two troughs. The positive slope will be where the circle is crossing the fibres, the negative slope will be where the fibres are tangent. Fit a 2nd harmonic to the plot, the phase reveals the principle direction of fibres.
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 17 ·
Replies
17
Views
3K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 2 ·
Replies
2
Views
1K
  • · Replies 13 ·
Replies
13
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K