Hi everybody, I am developing a point-of-care sensor device and I need to use a software to calibrate the data and to analyse the results. For example, I have a 2D patter of experimental points of a complex mixture of proteins/peptides. It is the control pattern (Image 1). Now I need to compare other pattern of proteins obtained in a second experiment (Image 2) with the previous one, to find all possible matchs according to maximun number of black points (proteins) overlapped. I need information about % of overlapping and overlapped figures (see attached figure). Can I use Mathematica for this purpose? Thanks
David, I am guessing that this is not a problem of correlating specific points on a grid but rather actual rectangular areas on an image. If it is just data points on a regular cartesian grid then your approach makes a lot of sense. (Wish I had thought of it... ;-)) If it's rectangular areas on an image then perhaps something involving ImageCorrelate might be of help (though Mathematica's image processing functions are something that I need to learn more about.....)
A 2D ListCorrelate should do this, with image1 the list and image2 the kernel. The output will have peaks where elements of the kernel match those in the list. The magnitude of the peaks indicates the degree of correlation at that displacement.
Can you post sample data?
Though Mathematica will not have a specific function to solve your problem for you, it is completely conceivable that an algorithm can be written to address your analysis problem. It is not completely clear to me what you mean by "overlapping" in the examples that you give. I understand that generally you mean when two rectangles share a common area--but what I am not clear on is what determines how you place image 2 on image 1. In the examples that you give there are no cases where, a square say in image 2, exactly co-registers with a square in image 1, suggesting that you are moving image 2 continuously around on image 1. So, the devil of the algorithm needed is in the details of the requirements of your analysis. But given both, I;m sure that it can be coded in Mathematica.
Yes. Once you have the coordinates of all the points in image1 and image2 (M and N) the maximum of any metric (% or otherwise) is somewhere in the metrics for every combination of M,N overlapping. You end up searching M*N combinations. There's no need to search among the infinite number of continuous positions.