Image fft2 metric?
조회 수: 13 (최근 30일)
이전 댓글 표시
Hi!
I would like to analyze microscope images of cells to assess alignment of cells. I wrote a simple script to get the fft2 of an image and can plot the result, but I need to find a way to reduce the plot to a single number that represents the cell alignment of the fft2 plot. Idealy, the fft2 of the Clouds image would produce a value of zero or close to zero and the fft2 of the Fibers image would produce a value of 1 or close to 1. I feel like there has to be a way to measure/describe the pattern observed in the fft2 image, but I have no idea where to look or what to search. Any ideas?
My simplified code:
I=imread('MyImage.png');
G=rgb2gray(I);
F=fft2(double(G));
S=fftshift(F);
L=log2(S);
A=abs(L);
imagesc(A)
My representative images, random clouds (top) and fibers (bottom)... raw images on the left and fft2 on the right.
Any help is greatly appreciated!
Thanks,
Dan
댓글 수: 2
Kartikay Sapra
2023년 1월 18일
It looks like a binary classification problem. You will have to use a classification algorithm(Logistic Regression most likely) and train the model over your dataset(i.e preprocessing images to get the fft2 output). Moreover, the task is to create a training set where ground truth (fibres OR clouds) must exist. It may require manual labelling for some images.
채택된 답변
Image Analyst
2023년 2월 3일
You can use the attached algorithm to find the orientation of the pixels.
댓글 수: 0
추가 답변 (1개)
Daksh
2023년 2월 3일
I understand that you want to "classify" an image dataset consisting of clouds and fibers to either "0" or "1" labels based on the fft2 output plot produced by images.
To my understanding, this is a Binary Classification problem consisting of a shuffled dataset of fft2 images of both clouds and fibers, and the goal is to train a Machine Learning / Deep Learning algorithm that can learn representations for both clouds and fibers into a model, which can be used to classify and predict the label of unseen new fft2 images for clouds and fibers.
The process will include the following steps:
- Curating a small but sufficiently-varying dataset of fft2 image metrics of both clouds and fibres images. Note that you can either choose the fft2 matrix metric (described as "A" variable for an image in your code), or the fft2 image itself
- Labelling the dataset with labels "0" and "1" for clouds and fibers respectively, splitting the same into training and testing sets
- Preprocessing the matrix metric / image for data standardization and normalization
- Fitting a Machine Learning / Deep Learning binary classification model and training it sufficiently to effectively learn data representations
- Testing the model out on testing dataset
Kindly refer to the following links for more insight into the algorithm for the same:
Hope it helps!
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!