Line 37: Line 37:
 
Q: I'm having some trouble with coding in matlab. I want to modify the line "z = X(i:(N+i-1), j:(N+j-1));" in SpecAnal.m so that I change z from a 2-dimensional matrix to a 3-dimensional matrix. For example, add something like z(a,i,j) so that a is the counter for the number windows and i and j are the intensity values inside the windows. Whenever I try to do something like this I get a mismatch error saying that the matrices have different numbers of arguments. I'd like to not have to create 25 different variables for each window. Can anyone help me with this?<br/>
 
Q: I'm having some trouble with coding in matlab. I want to modify the line "z = X(i:(N+i-1), j:(N+j-1));" in SpecAnal.m so that I change z from a 2-dimensional matrix to a 3-dimensional matrix. For example, add something like z(a,i,j) so that a is the counter for the number windows and i and j are the intensity values inside the windows. Whenever I try to do something like this I get a mismatch error saying that the matrices have different numbers of arguments. I'd like to not have to create 25 different variables for each window. Can anyone help me with this?<br/>
 
A: Matlab uses internal structs for each dimensions. Therefore you will have to use special commands to merge multi-dimensions together. Yes, even if the last dimension has only 1 width!<br/>
 
A: Matlab uses internal structs for each dimensions. Therefore you will have to use special commands to merge multi-dimensions together. Yes, even if the last dimension has only 1 width!<br/>
 +
 +
[[2013_Spring_Image_Processing_ECE_637_Bouman|Back to Spring 2013 ECE637]]

Revision as of 07:35, 25 January 2013

Hello Class, before you start doing Lab2, here are some background information you might want to read:
http://en.wikipedia.org/wiki/Window_function
http://en.wikipedia.org/wiki/Spectral_density
http://en.wikipedia.org/wiki/Orthogonal_transformation

Also as Additional Information:
http://www.mathworks.com/help/matlab/ref/mtimes.html
http://www.mathworks.com/help/matlab/ref/times.html

Q&A Section
Q: Anyone have an idea of how to compute the squared DFT magnitude in MATLAB? Is this the sum of pixels across the window multipled by cos(n)+isin(n) where n is the location between 0-64 in the window?
A: I would just x.^2 to be honest :)

Q: What does window function do?
A: Rememeber how rect goes to sinc from lab1? Everytime you sample an input segment and perform FFT, you are essentially applying rectangle window to the input samples. Therefore to reduce the effect of artifacts, people apply different type of windows before applying orthogonal transforms.

Q: In the second part, why are we adding 127 to each pixel value before displaying them, instead of scaling them to 0 - 255? Because, in my understanding, adding 127, would increase the (0,0) frequency component, and thus giving us the illusion that the image is smoother.
A1: I think it's just for visualization. For me, min(min(y)) = -121.79 and you can't display that. So, shifting by 127 makes pixel values non-negative.
A2: As mentioned from A1. Given X~U(-0.5,0.5), to correctly display the image using 8bit gray scale, you have to make the best out of your quantization levels. Therefore first add 0.5 to the average then multiply by 255 as stated from the problem statement.

Q: Is anyone having trouble using the image() command in Matlab for displaying their 'random image' in part 2? Mine comes up as just a black square every time. I set the colormap to gray(256) and I'm converting to an 8-bit representation using uint8(). I have checked my matrix and the values range from 0 to 255. Any insight?
A1: Did you add 127 to y (y + 127)?

Q: as I was primarily looking at step one of Part 2, however, the x_scaled I am attempting to display has values from 0 to 255, within the 8bit grayscale range. Again, I don't know what the image command isn't working. A: Please refer to the previous Questions.

Q: Does anyone have any insight in determining the power spectral density of y? I've read through the links and listened to older lectures from previous semesters, but am still lost.
A1: Probably this might help : http://en.wikipedia.org/wiki/Wiener%E2%80%93Khinchin_theorem
A2: Samples are IID. Consider using Rxx and Sxx to simplify your calculations.

Q: Using the above link to calculate the power spectral density still does not help me. How do you go from the difference equation y(m,n)=3x(m,n)-.99y(m-1,n)-.99y(m,n-1)+.9801y(m-1,n-1) to S_y=sum(r_y[k]e^(-2*pi*f*k)) where r_y=E[y(n)y*(n-k)]? These steps do not seem to be explained in the wiki link or in any of the notes.
A: As above, samples are IID and therefore should consider using Rxx and Sxx to get to Syy.

Q:I am confused about the difference between powder spectral density and powder spectrum? Are they the same?
A: First, it is POWER spectral density. Second, it would depend on the context.

Q: I'm having some trouble with coding in matlab. I want to modify the line "z = X(i:(N+i-1), j:(N+j-1));" in SpecAnal.m so that I change z from a 2-dimensional matrix to a 3-dimensional matrix. For example, add something like z(a,i,j) so that a is the counter for the number windows and i and j are the intensity values inside the windows. Whenever I try to do something like this I get a mismatch error saying that the matrices have different numbers of arguments. I'd like to not have to create 25 different variables for each window. Can anyone help me with this?
A: Matlab uses internal structs for each dimensions. Therefore you will have to use special commands to merge multi-dimensions together. Yes, even if the last dimension has only 1 width!

Back to Spring 2013 ECE637

Alumni Liaison

To all math majors: "Mathematics is a wonderfully rich subject."

Dr. Paul Garrett