Saturday, November 10, 2007

Things to learn in the next 1 year

Open CV on linux platform
Awareness of the basic libraries available in C/C++
Mex interface
Running batch process/ parallelizing your algorithm to run on clusters

Some new stuff learnt from MATLAB

1. How to run a peice of code on an array of data and find out the ones for which the function gives a runtime error

try and catch block

try
output(i)=function(intput(i))
catch ME1
% ME1.identifier
fid=fopen("errorfile.txt",'w');
fprintf(fid,'%s\n',ME1.message);
for j=1:length(ME1.stack)
fprintf(fid,'filepath = %s\n',ME1.stack(j).file);
fprintf(fid,'function name = %s\n',ME1.stack(j).name);
fprintf(fid,'line no = %d\n',ME1.stack(j).line);
end
fclose(fid);

end



2. Moving and copying files around in matlab

copyfile('src','dst');
movefile('src','dst');

Sunday, October 28, 2007

Need help on vector space projections

I thought it was not required to write my thesis...but need it :(.........Who has any idea of vector space projections used for image retrieval ??? The most quoted text book by Henry Stark is not available in India...
The idea is
a) given |autocorrelation matrix|^2 of an image
b) |spectrum|^2 of the image (say by taking FFT)
can we determine the phase of the image points....so to reconstruct the complete image. (As you know ||^2 takes away all the information about phase.

Thursday, October 25, 2007

Any idea of autocorrelation matrix of images ?

For a one-dimensional sequence x[n], the autocorrelation matrix is E(xx'), where E is the expectation operator and x' denotes transpose of x[n]. This matrix has Toeplitz structure. If we extend the case for a two-dimensional sequence x[n,m], what is the structure of resulting matrix ?

Any thoughts ?

Wednesday, October 17, 2007

Origin of Noise in images

The concept of noise is very intuitive in communication systems. When signals are transmitted through a channel, various sources such as thermal noise, shot noise corrupt the data. The noise is usually modelled as additive white noise with Gaussian statistics.

I want to know what noise sources, if any, originate in the field of image processing. What do we mean when we say (if we do say) that an image is buried in noise? What are the sources?

A related concept is the distortion. Technically both distortion and noise modify the data. However, we can always compensate for the distortion (meaning it is not random..but deterministic) but cannot do so for noise. Blurring of images comes to my mind as source of distortion. Why does blurring occur?

An interesting point regarding 2D z-transforms. In 1D, a polynomial of degree N can always be factored in terms of its zeros, like
f(z) = A(z-z0)(z-z1)(z-z2).....(z-zN).

Surprisingly we can't do this for 2D functions such as f(u,v), where u and v are in general complex. This is supposed to be linked to concept of vector space projections. Any idea what this means ?

Tuesday, October 16, 2007

Color Image Restoration

I recently got a challenging job from my professor, that I needed to solve in 24 HOURS. I failed. I realized the problem was not as straight forward. The problem was a color image restoration problem.

Image Restoration for grayscale images works just fine. We have lot of tools and even matlab has readymade functions for it.
However for color images the equation is not that simple. In addition to all the correlation and noise and blurring, we have interdependence between channels.
So it turns out that we need to consider correlation across channels while inverting the process.
I did find a few papers but again the math was very involved and no matlab function is avialable for color images to implement those papers. So its obvious that either the methods are not computer efficient or they are not universally applicable to a wide gamut of images.

I shall edit this post when I get more links and answers to this problem.

Suggestions please?

The Image Processing forum

Hi
I am an Image Processing enthusiast and I am continuosly trying out new algorithms to tackle one or the other problems with images. However I am lazy with math and coding sometimes. Also I have very naive/brainstorming questions that I prefer asking in an open forum. Thats the reason why I created this blog. Those reading this blog and have similar issues and concerns like mine, kindly send me your email id as a comment in this blog and I shall invite you as an author for this blog and you can start posting questions as well.

Note that only questions are posted as blogs. Answers need to be given in comments to the posts.

I have already invited Lalit, Sunando and Surya my ex-labmates and experts in Image Processing to start posting questions and answering some.

I hope we are all able to answer some questions and learn things from this discussion website.

Shivani