Presentation is loading. Please wait.

Presentation is loading. Please wait.

Deployment of MONALISA algorithms and data inside LiCAS analysis framework Jack Hobbs 14/07/08 Java 14/07/08 slide 1.

Similar presentations


Presentation on theme: "Deployment of MONALISA algorithms and data inside LiCAS analysis framework Jack Hobbs 14/07/08 Java 14/07/08 slide 1."— Presentation transcript:

1 Deployment of MONALISA algorithms and data inside LiCAS analysis framework Jack Hobbs 14/07/08 Java 14/07/08 slide 1

2 The End of Last Week’s Work The File Reader classes were corrected to work. A main method was created to test the file interrogation and reading. On the first attempt it failed. I corrected some more errors and tested again. It failed again. There were no more errors in my code. This was a problem. Java 14/07/08 slide 2

3 The Problem The Core was written with a different problem in mind. A method for inspecting one of the HashMaps was not general enough. A HashMap is effectively a two column table, linking keys to data. For my file reader to work in the way it was written, the Core had to be edited to get rid of the error. Java 14/07/08 slide 3

4 The Detailed Problem Java 14/07/08 slide 4 HashMap > When interrogating the inner HashMap, the Core is expecting only one DataTypeKey paired to one Vector of DataWindows. With the multi-column problem I was solving, there were four D.T.K.s. This meant if I wanted the data for a given D.T.K., unless it happened to be the first in the HashMap, then the Core could not find the data.

5 The Core Paul and John agreed the Core should be fixed. Paul and I worked on a copy of the Core, correcting little errors all over the Core and generally tidying it up. I ran out of simple fixes to do, so I moved on to the next problem… Java 14/07/08 slide 5

6 Java 14/07/08 slide 6 Having spent last week reading in data it was time to do something with that data. Andrew has been plotting his 2 photodiode data columns and fitting ellipses to the distributions. The maths was outlined in a couple research paper along with example code. The code is written in MATLAB which implements old FORTRAN code to do some fairly complicated matrix algebra. Having seen the code and the linear algebra it seemed quite a big task. Analysis

7 Java 14/07/08 slide 7 Ellipse Fitting JAVA has no concept of a matrix built in. I was not going to spend a long time teaching it. Either I had to reference the MATLAB code in JAVA (completely negating the point of programming in JAVA) Or I had to find a matrix algebra package which had been already written. Google directed me towards a package called JAMA which seems to have all of the functionality I need.

8 Java 14/07/08 slide 8 Ellipse Fitting SC S a = λ C a S SIs the “Scatter” matrix – this originated from input data. C CIs the “Constraint” matrix – this originated from the requirement that the shape we are fitting is an ellipse. aIs a vector of conic constants which define the ellipse. where a x 2 + b xy + c y 2 + d x + e y + f = 0 C -1 SI (C -1 S) a = λ I a C -1 S λIs an eigenvalue of the matrix (C -1 S).

9 Ellipse Fitting The last property needed to determine the vector of conic constants was a property of the eigenvalue λ. The research paper proved that λ has only one negative value and this was the one we are looking for. Now it is simple: we just need to work out the eigenvalues and eigenvectors of a 6 x 6 matrix. JAMA takes care of the hard work so the program is relatively simple, a fraction of the size of the file reader. Java 14/07/08 slide 9

10 Next Week Tidy up and finalise the Ellipse fitter. Feed the ellipse fitter some data to test it and fix any errors. (The Core will need to be fixed first) Get working on the Carré phase extraction algorithm detailed in Paul Coe’s thesis. Java 14/07/08 slide 10


Download ppt "Deployment of MONALISA algorithms and data inside LiCAS analysis framework Jack Hobbs 14/07/08 Java 14/07/08 slide 1."

Similar presentations


Ads by Google