5th weekly presentation (Tuesday 06 August 2008)

Download Report

Transcript 5th weekly presentation (Tuesday 06 August 2008)

Java 06/08/08 slide 1
Deployment of MONALISA
algorithms and data inside
LiCAS analysis framework
Jack Hobbs 06/08/08
Java 06/08/08 slide 2
Last Week’s Work
• ASCII files were being read into the core successfully.
• I was back working on phase fitting.
• There was talk of Binary IO.
Java 06/08/08 slide 3
Binary File Reading
• I began writing after reading the MONALISA
document* and downloading the project libraries and
Java documentation.
• Paul gave me extensive help at the beginning and end
as there are a fair few technicalities involved over
ASCII reading.
• This should now work, but with no files to read, this
hasn’t been debugged.
*(The framework is detailed in MONALISA document 0006.3.1.2)
Java 06/08/08 slide 4
Binary File Writing
•
First a file must be “Minted” (like a coin), then data
can be Appended to the end of it.
These are in two separate classes.
The “Minter” is written and only requires:
•
•
–
–
–
•
A “data file header scheme” (contains useful information on
the creating user and the software versions used in
creation).
A file path.
A “Software ID” (a number related to the specific piece of
software creating the file)
The “Appender” has the base code written, with just
the Core references to write.
Java 06/08/08 slide 5
ASCII File Writing
•
Just one problem to overcome here – how to write
DataWindows of different lengths to a file and not mix
up all the columns of data.
Java 06/08/08 slide 6
ASCII File Writing
•
Output files take the name given to them in the
constructor, followed by
1.
2.
3.
“_column_number_”
The number in the List<DataWindow> handed to the constructor
“.dat”
•
If the file is of a form that will not encounter the
problem, then a file with all of the data can be written
with a different class, which writes the data handed
to it and one column of indices.
Java 06/08/08 slide 7
Fast Fourier Transforms
• As well as the Binary Appending and the ellipse
method for Phase Fitting, I am now writing an FFT
process.
• It is almost fully written for a “real to complex”
transform, “complex to real” and “complex to complex”
will be largely a copy and paste job.
• I had to perform a couple of tests to work out how to
get the bottom axis units out of the program but with
trial and error I got a predicted graph out correctly…
This is a transform
of a superposition
of two perfect sine
waves at 0.159Hz
and 0.796Hz
Java 06/08/08 slide 9
Next Week
• Finish the FFT project.
• Finish the Binary Appender.
• Do some ellipse fitting.