2005-07-30 18:45 mokhov * doc/src/tex/: history.tex, report.tex: Bump to 0.3.0-devel-20050730. Change the group name to MARF Research and Development Group. 2005-07-30 17:38 mokhov * src/marf/Storage/Sample.java: Fix typos in comments. 2005-07-30 17:34 mokhov * src/marf/Storage/Sample.java: Implement toString(). 2005-07-30 17:10 mokhov * Makefile, README, marf.jpx, marf.oif: Update the JBuilder project files information. 2005-07-30 16:50 mokhov * src/marf/Storage/ResultSet.java: Fix getSecondClosestID() to account for whether the 2nd closest means 2nd minimum or 2nd maximum depending on the first closest. 2005-07-30 16:35 mokhov * src/marf/util/SortComparator.java: Allow getting the current sort mode. 2005-07-30 16:05 mokhov * src/marf/Stats/: Ngram.java, ProbabilityTable.java, StatisticalObject.java, StatsCollector.java, WordStats.java: Document the methods of the marf.Stats package's classes with proper javadocs. 2005-07-30 15:30 mokhov * src/marf/util/OptionProcessor.java: Add clear() method to remove all the options. 2005-07-29 19:09 mokhov * src/marf/MARF.java: Update author information. 2005-07-29 19:04 mokhov * doc/: arch.mdl, src/graphics/arch/storage.png, src/tex/apps.tex, src/tex/architecture.tex, src/tex/high-pass-boost.tex, src/tex/minmax.tex, src/tex/sources.tex, src/tex/storage.tex: Updated the Storage class diagram for most things. Spellcheck the manual. 2005-07-29 00:00 mokhov * doc/: arch.mdl, src/graphics/arch/classification.png, src/graphics/arch/feature-extraction.png, src/graphics/arch/gui.png, src/graphics/arch/preprocessing.png: Update Classification, Preprocessing, Feature Extraction, and GUI diagrams to a more actual state. 2005-07-24 21:26 mokhov * doc/: arch.mdl, src/graphics/arch/arch-general.png, src/graphics/arch/packages.png, src/tex/apps.tex, src/tex/architecture.tex, src/tex/history.tex, src/tex/intro.tex, src/tex/legal.tex, src/tex/notation.tex, src/tex/report.tex, src/tex/sources.tex: Update general MARF class diagram and main packages. Reverse-engineer the Rose model with the recent MARF sources. Refactor the Introduction chapter with proper flow and sectionning. Get rid of more PG stuff in MARF docs. Move COPYRIGHT under a section in Introduction instead of being a chapter on its own. Add more index and Revision entries. Perform some general style editorialization. 2005-07-24 20:52 mokhov * doc/src/tex/report.bib: Sync bibliography with my thesis for our recent conference proceedings in Las Vegas. 2005-07-22 15:32 mokhov * doc/: pipeline.ppt, src/graphics/arch/pipeline-flow.png, src/tex/architecture.tex: Complete preliminary pipeline data-flow diagram. 2005-07-22 14:55 mokhov * src/marf/nlp/Parsing/: SymbolTable.java, GrammarCompiler/Grammar.java: Remove deprecated code/entries. Document the code more (still more to do). Apply coding conventions in most places. 2005-07-18 23:30 mokhov * INSTALL: Add TOC and Upgrade section. 2005-07-18 23:10 mokhov * doc/src/tex/preprocessing.tex: Add high-pass high frequency boost to the Preprocessing section for it to appear in the manual. 2005-07-18 22:50 mokhov * doc/src/tex/: hamming.tex, high-frequency-boost.tex, high-pass-boost.tex, high-pass.tex: Add a first cut on documentation of the high-pass high-boost filter that escaped the previous release. Fix a few mistakes in Hamming Window, add revision, index entries, and implemenation place to the high-pass and high-boost filters alone. 2005-07-18 22:01 mokhov * Makefile, distro.exclude: Add a -bundle distro build of MARF. Make sure cvs2cl.pl and cvs2html.pl scripts are not included into the distro -- I thought I've done it, but apparently no so. 2005-07-18 21:48 mokhov * doc/src/tex/hamming.tex: Add index entries, revision, and mention where the implementation is. 2005-07-18 21:16 mokhov * doc/src/tex/: apps.tex, math-test-app.tex, test-fft.tex, test-filters.tex, test-loaders.tex, test-lpc.tex, test-wave-loader.tex: Group applications in sections by their purpose/location. Perform some minor editorializing along the way. 2005-07-18 19:44 mokhov * doc/src/tex/minmax.tex: Correct section label. 2005-07-18 19:36 mokhov * TODO: Preliminary TODO update for the things accomplish and a few new TODOs. Brush up the list a little. 2005-07-18 19:34 mokhov * doc/src/tex/apps.tex: Add ENCSAssetsCron. 2005-07-17 20:24 mokhov * src/marf/MARF.java: Expose MARF's version constants by making them public. Document them more. Account for MINOR_REVISION in getVersion() and getIntVersion(). Add a new API of getDoubleVersion() to provide 123.4 version format. 2005-07-17 13:04 mokhov * src/marf/util/OptionProcessor.java: Correct a couple of bugs related to the new feature of option=value type of handling exposed by the RIPE of GIPSY: enumerations need to be looked up now as keys, not values, in the reference option hashtables. This does not affect previous versions as this is a new feature. 2005-07-15 23:49 mokhov * src/marf/util/OptionProcessor.java: Provide first complete cut on implementation of the 'option=value' option processing feature. Make most of the new methods and classes protected for now for this upcoming release, but make nearly full use of them internally. The backward compatibility is still maintained except that the '=' sign now treated specially as the option-value separator. Add two-way hashing of Option objects by the option string or its number to simplify lookups; hence the new members of oValidOptionsNumbers and oActiveOptionsNumbers. I renamed the string ones to havs a suffix of "Strings". Add a new API of addValidOption(int, String, boolean) to allow the client code to add valid options that require arguments. Adjust parse() and getOption()-family calls to use Option and parse the '=' appropriately and parse() now checks for required arguments as well. Add getOptionArgument() family of calls to be able to query parsed option arguments. Add getter and setters calls in the Option class for its members. Document all the new members. 2005-07-15 23:31 mokhov * src/marf/MARF.java: Document exception. 2005-07-15 23:28 mokhov * src/test.java: Add a couple of debug lines when testing new features of OptionProcessor. 2005-07-15 21:01 mokhov * src/Makefile: Remove -version:1.4 from the compile flags as it turned out to be impractical if one doesn't have 1.4 JRE. 2005-07-15 19:45 mokhov * src/marf/math/: Matrix.java, Vector.java: Complete debugging of a few Matrix and Vector methods. Fix a major bug in Matrix.crop() that was "forgetting" the starting "top" index for the initial offset to copy the elements from. Fix Matrix.getDeterminant() to explicitly account for 0x0 and 1x1 matrix cases. Fix a few spelling mistakes in comments. Document the code more. Rename variables in crop() to avoid confusion between local and member variables. Remove dead commented-out code. Update Vector.getUnitVector() to use a safer normalize() call and remove code duplication. Add a new API of "Vector add(Vector)", and "Vector add(Vector, Vector)" that was logically missing in the Vector class. Add own Vector.clone() to avoid ClassCastExceptions with Matrix when cloning vectors. On this, I think the Matrix and Vector code is ready for the next release. 2005-07-13 21:00 mokhov * src/marf/util/Arrays.java: Document exception. 2005-07-13 20:59 mokhov * src/marf/util/Debug.java: Add a new debug(Object) method. 2005-07-13 20:57 mokhov * src/marf/math/: Matrix.java, Vector.java: Adjust Matrix class while testing its features. Make the Direction inner class 'public static' to be able to access it from outside; else the Direction-based methods of the class were pretty much useless for the external use. Fix some comments and add more javadoc tags. Add Shuxin as a co-author. Apply even more coding conventions. Add setAllRandom() method for testing matrices filled in with random values. Keep debugging getDeterminant() method, which was not handling special cases of 0x0 and 1x1 matrices. Something still remains broken in the general case I'd fix with the next commit. Perform some more code clean up along the way. Add a new divide(double) API to be consistent with the multiply(double) counterpart. In Vector, add a constructor Vector(double[], boolean) to be able to make transposed vectors directly. Make unit vectors i(), j(), and k() to be 'static'. 2005-07-13 15:53 mokhov * src/Makefile: Make sure the assertions are enabled and we explicitly set the source code to be 1.4-compliant. 2005-07-13 14:02 mokhov * src/Makefile: Require java 1.4 for javadocs, so that assert doesn't generate an error. 2005-07-11 09:15 mokhov * src/marf/math/Matrix.java: Format. 2005-07-09 22:44 susan_fan * src/marf/math/Matrix.java: add shear() 2005-07-09 14:00 mokhov * src/marf/math/Vector.java: Fix a comment and trim trailing blanks. 2005-07-09 13:17 mokhov * src/marf/math/Matrix.java: Cure the ClassCastException problem by providing multiply(Matrix, Vector) and multiply(Vector) calls. Trim trailing blanks and correct some odd formatting. 2005-07-08 19:22 mokhov * src/marf/util/OptionProcessor.java: Perform some minor documentary and cosmetic adjustments. 2005-07-08 16:32 mokhov * src/marf/nlp/util/NLPStreamTokenizer.java: Document the class thereby removing the javadoc warnings. 2005-07-08 16:28 mokhov * src/marf/MARF.java: Clean up a bit the main pipeline and let the exceptions propapate. Start numebring minor revisions of when certain members appeared. 2005-07-08 14:54 mokhov * src/marf/math/: Matrix.java, Vector.java: Brush up the Matrix and Vector code, make it more correct and robust and much better documented. Make the classes Serializable to they can be saved and restored if need be. Improve garbage collection of the temp copies of the arrays used. Add an assertion check for length and size. The API of the new translate()/rotate()/scale() calls is altered to return Vector instead, per my original spec; otherwise, there is no much change in the functionality. The functionality itself is yet to be extensively tested and shear() to be added. Correct a few small bugs in dimension settings and stuff. Apply more coding conventions properly. Fix some skewed formatting and spelling mistakes in comments. 2005-07-07 12:11 susan_fan * src/marf/math/: Matrix.java, Vector.java: add scale(), translate(), rotate() 2005-07-06 15:19 mokhov * src/marf/util/OptionProcessor.java: Relax private qualifier for data members and make it protected so derivatives, if there are any can make use of them. Document the new code even though it's not complete. Fix a spelling mistake in the name of a variable. 2005-07-06 14:53 mokhov * src/marf/util/comparators/: FrequencyComparator.java, RankComparator.java: Clear out javadoc warnings in comparators. 2005-07-03 22:17 mokhov * src/marf/util/OptionProcessor.java: Begin work on OptionProcessor allowing option=value type of options. For this declare OptionsHashtable and Option classes and make marginal use of them. As things stand, there is no change in functionality, except for detecting "dangling" "=" option. Replace if(debug)-print() chains with Debug.debug() calls making code cleaner. A lot more work is to be done to complete the task, but this this the necessary beginning. 2005-07-03 21:06 mokhov * doc/src/tex/installation.tex: Further massage install.tex and get rid of remnant SGML PG tags. Now will need to fill in our content entirely as well as sync with the INSTALL file. 2005-07-03 20:28 mokhov * doc/src/tex/: best-score.tex, stats-date.tex, stats.tex: Update the stats with Shuxin's samples. 2005-07-03 20:16 mokhov * doc/src/tex/data.tex: Add Shuxin and tab the source table nicely. 2005-07-03 20:00 mokhov * doc/src/tex/test-wave-loader.tex: Perform 2nd marginal editorialization, mostly merging paras. 2005-07-03 19:56 mokhov * doc/src/tex/: apps.tex, math-test-app.tex, test-loaders.tex: Perform marginal editorializing of TestLoaders and add it to the Apps chapter. Add somehow missed short description of MathTestApp. Add 3 short sections describing other usages of MARF outside the MARF realm. 2005-07-03 18:59 mokhov * doc/src/styles/styles.tex: Add a new abbreviation I happened to use in text. 2005-07-03 18:55 mokhov * doc/src/tex/report.bib: Sync with my main bib: correct spelling of MARF, add my "techreports" on GIPSY and refs to Tomcat, JSP, and Servlets. 2005-07-03 18:10 mokhov * manifest.mf: Remove DOS EOLs. 2005-07-03 05:18 susan_fan * doc/src/tex/test-loaders.tex: add test-loaders.tex 2005-06-22 17:44 mokhov * src/marf/util/: Arrays.java, Matrix.java: Perform some minor editorializing of the code and comments. Fix a few English/spelling mistakes of my own and not so. Minor corrections to javdocs and naming. 2005-06-22 16:13 susan_fan * src/marf/util/: Arrays.java, Matrix.java: Adjust class comment, which is missing a sentence. Fix of @return; fix indentation of /**. 2005-06-21 19:31 susan_fan * src/marf/util/Arrays.java: Add binarySearch() wrapper. 2005-06-21 14:49 mokhov * src/Makefile: Symlink automatically marf.jar to the recently built versionned jar. Per my recent trick in the GIPSY built. 2005-06-21 10:30 susan_fan * src/marf/util/Arrays.java: copy() between different types of arrays 2005-06-21 08:32 mokhov * Makefile, manifest.mf: Perform some minor clean ups while porting this part of the Build System to my thesis work on GIPSY. 2005-06-20 17:45 mokhov * src/marf/Storage/StorageManager.java: Invent new member variable bDumpOnNotFound -- to indicate whether we want an emty file to be created if it does not exist during restore. Practice proves, the uncoditional creation on-file-not-found event is not always desired or sensical, so provide this means for the client code to be able to turn it off. The feature is on by default and can be effected via a set three new constructors or the enableOnNotFound() method. While at it, make most of the methods synchronized. While I don't have a practical example at hand for the case when multiple threads use the same StorageManager instance to dump/restore stuff, there could be one one day, so as a preventive measure do it now. 2005-06-20 01:36 mokhov * src/marf/util/BaseThread.java: Implement new API of getTarget() that allows retrieval of the Runnable target set during construction. Proved to be usful to get a hold back on what was possibly anonymous created. 2005-06-20 01:34 mokhov * src/marf/util/ExpandedThreadGroup.java: Cosmetic. 2005-06-20 00:55 mokhov * src/marf/util/ExpandedThreadGroup.java: Prevent starting already started threads. Another bug exposed by the GIPSY's GIPC. 2005-06-20 00:28 mokhov * src/marf/util/BaseThread.java: Guard against null name of a thread. A bug was exposed and traced in the GIPSY. 2005-06-19 21:37 mokhov * src/marf/util/Arrays.java: Peform some editorializing of code and comments. Begin a new series for copy()-conversion methods between arrays of different types. 2005-06-19 21:35 mokhov * doc/: Makefile, src/Makefile: Correct copyright year. 2005-06-19 12:08 mokhov * src/marf/util/MARFException.java: Add our own toString() to make sure our own strMessage is returned. Minor clean up in the default constructor. 2005-06-18 22:02 susan_fan * src/marf/util/Arrays.java: Using wrapper call to give equals(), sort(), fill(),and arrayToVector methods different parameters. 2005-06-16 16:55 mokhov * src/marf/util/Arrays.java: Largely update the class comments and perform some minor editorializing within. 2005-06-16 16:24 susan_fan * src/marf/util/Arrays.java: Using wrapper call to give copy() methods different parameters; add comments according to Java Doc comments. 2005-06-16 15:58 mokhov * src/: test.java, marf/MARF.java, marf/Classification/Classification.java, marf/Classification/ClassificationException.java, marf/Classification/Distance/ChebyshevDistance.java, marf/Classification/Distance/DiffDistance.java, marf/Classification/Distance/Distance.java, marf/Classification/Distance/EuclideanDistance.java, marf/Classification/Distance/MahalanobisDistance.java, marf/Classification/Distance/MinkowskiDistance.java, marf/Classification/Markov/Markov.java, marf/Classification/NeuralNetwork/Layer.java, marf/Classification/NeuralNetwork/NeuralNetwork.java, marf/Classification/NeuralNetwork/Neuron.java, marf/Classification/RandomClassification/RandomClassification.java, marf/Classification/Stochastic/MaxProbabilityClassifier.java, marf/Classification/Stochastic/Stochastic.java, marf/Classification/Stochastic/ZipfLaw.java, marf/FeatureExtraction/FeatureExtraction.java, marf/FeatureExtraction/FeatureExtractionException.java, marf/FeatureExtraction/Cepstral/Cepstral.java, marf/FeatureExtraction/F0/F0.java, marf/FeatureExtraction/FFT/FFT.java, marf/FeatureExtraction/LPC/LPC.java, marf/FeatureExtraction/MinMaxAmplitudes/MinMaxAmplitudes.java, marf/FeatureExtraction/RandomFeatureExtraction/RandomFeatureExtraction.java, marf/FeatureExtraction/Segmentation/Segmentation.java, marf/Preprocessing/Preprocessing.java, marf/Preprocessing/PreprocessingException.java, marf/Preprocessing/Dummy/Dummy.java, marf/Preprocessing/Dummy/Raw.java, marf/Preprocessing/Endpoint/Endpoint.java, marf/Preprocessing/FFTFilter/BandpassFilter.java, marf/Preprocessing/FFTFilter/FFTFilter.java, marf/Preprocessing/FFTFilter/HighFrequencyBoost.java, marf/Preprocessing/FFTFilter/HighPassFilter.java, marf/Preprocessing/FFTFilter/LowPassFilter.java, marf/Stats/Ngram.java, marf/Stats/Observation.java, marf/Stats/ProbabilityTable.java, marf/Stats/StatisticalObject.java, marf/Stats/StatsCollector.java, marf/Stats/WordStats.java, marf/Stats/StatisticalEstimators/GLI.java, marf/Stats/StatisticalEstimators/KatzBackoff.java, marf/Stats/StatisticalEstimators/MLE.java, marf/Stats/StatisticalEstimators/SLI.java, marf/Stats/StatisticalEstimators/StatisticalEstimator.java, marf/Stats/StatisticalEstimators/Smoothing/AddDelta.java, marf/Stats/StatisticalEstimators/Smoothing/AddOne.java, marf/Stats/StatisticalEstimators/Smoothing/GoodTuring.java, marf/Stats/StatisticalEstimators/Smoothing/Smoothing.java, marf/Stats/StatisticalEstimators/Smoothing/WittenBell.java, marf/Storage/Cluster.java, marf/Storage/Database.java, marf/Storage/FeatureSet.java, marf/Storage/MARFAudioFileFormat.java, marf/Storage/ModuleParams.java, marf/Storage/Result.java, marf/Storage/ResultSet.java, marf/Storage/Sample.java, marf/Storage/SampleLoader.java, marf/Storage/StorageException.java, marf/Storage/StorageManager.java, marf/Storage/TrainingSample.java, marf/Storage/TrainingSet.java, marf/Storage/Loaders/AIFFCLoader.java, marf/Storage/Loaders/AIFFLoader.java, marf/Storage/Loaders/AULoader.java, marf/Storage/Loaders/MIDILoader.java, marf/Storage/Loaders/MP3Loader.java, marf/Storage/Loaders/SNDLoader.java, marf/Storage/Loaders/SineLoader.java, marf/Storage/Loaders/ULAWLoader.java, marf/Storage/Loaders/WAVLoader.java, marf/gui/Spectrogram.java, marf/gui/SpectrogramPanel.java, marf/gui/WaveGrapher.java, marf/gui/WaveGrapherPanel.java, marf/gui/util/BorderPanel.java, marf/gui/util/ColoredStatusPanel.java, marf/gui/util/SmartSizablePanel.java, marf/math/Algorithms.java, marf/math/MathException.java, marf/math/Matrix.java, marf/math/Vector.java, marf/nlp/Collocations/ChiSquareTest.java, marf/nlp/Collocations/CollocationWindow.java, marf/nlp/Collocations/TTest.java, marf/nlp/Parsing/ClassSymTabEntry.java, marf/nlp/Parsing/CodeGenerator.java, marf/nlp/Parsing/Compiler.java, marf/nlp/Parsing/CompilerError.java, marf/nlp/Parsing/FuncSymTabEntry.java, marf/nlp/Parsing/GenericLexicalAnalyzer.java, marf/nlp/Parsing/LexicalAnalyzer.java, marf/nlp/Parsing/LexicalError.java, marf/nlp/Parsing/Parser.java, marf/nlp/Parsing/ProbabilisticParser.java, marf/nlp/Parsing/SemanticAnalyzer.java, marf/nlp/Parsing/SemanticError.java, marf/nlp/Parsing/SymDataType.java, marf/nlp/Parsing/SymTabEntry.java, marf/nlp/Parsing/SymbolTable.java, marf/nlp/Parsing/SyntaxError.java, marf/nlp/Parsing/Token.java, marf/nlp/Parsing/TokenSubType.java, marf/nlp/Parsing/TokenType.java, marf/nlp/Parsing/TransitionTable.java, marf/nlp/Parsing/VarSymTabEntry.java, marf/nlp/Parsing/GrammarCompiler/Grammar.java, marf/nlp/Parsing/GrammarCompiler/GrammarAnalyzer.java, marf/nlp/Parsing/GrammarCompiler/GrammarCompiler.java, marf/nlp/Parsing/GrammarCompiler/GrammarElement.java, marf/nlp/Parsing/GrammarCompiler/GrammarTokenType.java, marf/nlp/Parsing/GrammarCompiler/NonTerminal.java, marf/nlp/Parsing/GrammarCompiler/ProbabilisticGrammarAnalyzer.java, marf/nlp/Parsing/GrammarCompiler/ProbabilisticGrammarCompiler.java, marf/nlp/Parsing/GrammarCompiler/ProbabilisticGrammarTokenType.java, marf/nlp/Parsing/GrammarCompiler/ProbabilisticRule.java, marf/nlp/Parsing/GrammarCompiler/Rule.java, marf/nlp/Parsing/GrammarCompiler/SemanticToken.java, marf/nlp/Parsing/GrammarCompiler/Terminal.java, marf/nlp/Stemming/Stemming.java, marf/nlp/Stemming/StemmingEN.java, marf/nlp/util/NLPStreamTokenizer.java, marf/util/Arrays.java, marf/util/BaseThread.java, marf/util/ByteUtils.java, marf/util/Debug.java, marf/util/ExpandedThreadGroup.java, marf/util/FreeVector.java, marf/util/InvalidSampleFormatException.java, marf/util/Logger.java, marf/util/MARFException.java, marf/util/Matrix.java, marf/util/NotImplementedException.java, marf/util/OptionProcessor.java, marf/util/SortComparator.java, marf/util/comparators/FrequencyComparator.java, marf/util/comparators/RankComparator.java, marf/util/comparators/ResultComparator.java, tools/revision-check.sh: The Revision Project Update: Perform a massive rename of the common, but not-too-well-thought-of getRevision() call to getMARFSourceCodeRevision(). The reason is the former is very likely to create conflicts in the user code that extends from one or more MARF classes as getRevision() can be quite a common name. I've been the first one bitten by this, so luckily we change it earlier than later. Thus, rename it to something more MARF-specific that nobody else is likely to use. 2005-06-16 14:25 mokhov * src/marf/util/Matrix.java: Properly document the class and apply coding conventions. 2005-06-15 21:55 mokhov * src/marf/util/Logger.java: Simplify our coding a bit by using the FileOutputStream(String) constructor. 2005-06-15 20:54 mokhov * src/marf/gui/: Spectrogram.java, SpectrogramPanel.java, WaveGrapher.java, WaveGrapherPanel.java, util/ColoredStatusPanel.java, util/SmartSizablePanel.java: Eliminate javadoc warnings by documenting more or less all public members. Apply coding conventions. 2005-06-15 20:51 mokhov * src/marf/util/Logger.java: Now that I use the Logger, complete some of its missing methods to enable/disable timestamps, log direction with validation, filenames, etc. Make the class properly synchronized should it be accessed by multiple threads. Document the class. Apply coding coventions. 2005-06-14 20:57 mokhov * src/marf/: MARF.java, Classification/Classification.java, Classification/Distance/ChebyshevDistance.java, Classification/Distance/DiffDistance.java, Classification/Distance/Distance.java, Classification/Distance/EuclideanDistance.java, Classification/Distance/MahalanobisDistance.java, Classification/Distance/MinkowskiDistance.java, Classification/Markov/Markov.java, Classification/NeuralNetwork/NeuralNetwork.java, Classification/RandomClassification/RandomClassification.java, Classification/Stochastic/MaxProbabilityClassifier.java, Classification/Stochastic/Stochastic.java, Classification/Stochastic/ZipfLaw.java, FeatureExtraction/FeatureExtraction.java, FeatureExtraction/Cepstral/Cepstral.java, FeatureExtraction/F0/F0.java, FeatureExtraction/FFT/FFT.java, FeatureExtraction/LPC/LPC.java, FeatureExtraction/MinMaxAmplitudes/MinMaxAmplitudes.java, FeatureExtraction/RandomFeatureExtraction/RandomFeatureExtraction.java, FeatureExtraction/Segmentation/Segmentation.java, Preprocessing/IPreprocessing.java: Advace Interface Plugin Framework for Classification, Feature Extraction, and Preprocessing. All class references of thereof were replaced by their respective interfaces and this time including MARF. Define constants in MARF for user-defined plugins. This is the next, but not at all last step in the plugin framework -- will need to be able to set and dynamically instantiate user-ser plugins via Class.forName() and Class.newInstance() methods. Adjust some code along the way to fit the need (e.g. IPreprocessing was lacking getSample() method), apply more of coding conventions and correct the remaining javadoc warnings in all these modules. 2005-06-14 18:41 mokhov * src/marf/util/OptionProcessor.java: Only count the option as invalid if it's not blank. This infrequent scenario is possible when argv is generated programmatically and not from a command line, and as such should simply be ignored. 2005-06-14 18:19 mokhov * src/marf/util/OptionProcessor.java: Introduce new API calls getOption(String, boolean) and getOption(int, boolean) to allow proceeding on missing option by either returning UNDEF or "" constants. Proved to be useful in the Regression app with default args in the GIPSY and will certainly be in MARF's. Remove unused iOption member variable and add logically required but previously missing convenince calls for completeness, such as getValidOptions(), isValidOption(), isInvalidOption(). Massage HTML of some javadocs a little. 2005-06-13 18:14 mokhov * src/marf/nlp/Parsing/GrammarCompiler/GrammarAnalyzer.java: Rename the contant in accordance with the coding standards. 2005-06-12 19:09 mokhov * src/: test.java, marf/Classification/IClassification.java, marf/Classification/Stochastic/MaxProbabilityClassifier.java, marf/FeatureExtraction/IFeatureExtraction.java, marf/Preprocessing/IPreprocessing.java, marf/Stats/StatisticalEstimators/IStatisticalEstimator.java, marf/Stats/StatisticalEstimators/Makefile, marf/Stats/StatisticalEstimators/StatisticalEstimator.java, marf/Stats/StatisticalEstimators/Smoothing/ISmoothing.java, marf/Stats/StatisticalEstimators/Smoothing/Makefile, marf/Stats/StatisticalEstimators/Smoothing/Smoothing.java, marf/Storage/IDatabase.java, marf/Storage/ISampleLoader.java, marf/Storage/IStorageManager.java, marf/nlp/Stemming/IStemming.java, marf/nlp/Stemming/Makefile, marf/nlp/Stemming/Stemming.java: Towards support for exentsions, add three more interfaces: IStatisticalEstimator, ISmoothing, IStemming and make corresponding modules implement them. For statistical estimators rename P(), get/setLang() methods to p() and get/setLanguage() at the same time, either more readable or coding conventions-compliant. Rename all INTERFACE_CODE_REVISION constants to MARF_INTERFACE_CODE_REVISION to avoid most conflicts with the deriving code. Add all interfaces to the Revision Project. 2005-06-11 18:21 mokhov * src/marf/FeatureExtraction/IFeatureExtraction.java: Add getFeaturesArray() as any plugin, if there will be any, will need to implement that. 2005-06-11 18:20 mokhov * src/marf/MARF.java: Bump minor revision. 2005-06-11 16:35 mokhov * src/marf/Storage/: IStorageManager.java, StorageManager.java: Since the extensions map array is really a constant, rename it according to the coding standards. 2005-06-11 15:35 mokhov * src/marf/util/BaseThread.java: Fix a major bug in BaseThread related to the assumption of constructor this() chooses as a target. Since this() was picking up always the BaseThread(ExpandedThreadGroup, Runnable, String) constructor (at least in Java 1.4), it was very easy to get a NullPointerException if the first parameter is null. The other candidate constructor BaseThread(ThreadGroup, Runnable, String) has never been chosen as a target for this() invocation. Dicovered while working on GIPSY's GEE. 2005-06-11 14:44 mokhov * src/marf/util/MARFException.java: Clean up code a little and add a default constructor. Enforce more coding conventions. 2005-06-11 14:20 mokhov * src/marf/util/BaseThread.java: Make sure the operations releted to the static counter are themselves thread-safe. 2005-06-11 14:12 mokhov * src/marf/math/Algorithms.java: Fix a typo in a comment. 2005-06-11 00:35 mokhov * src/marf/util/BaseThread.java: Correct a little bug of not setting TID properly in the BaseThread(ExpandedThreadGroup, Runnable, String) constructor. 2005-06-10 23:24 mokhov * src/marf/util/OptionProcessor.java: Provide a symmetric implementation of getOption(int) to that of getOption(String) to be able to retrieve the option keys (strings). On the way update/clarify some comments. 2005-06-10 22:45 mokhov * src/marf/util/Debug.java: Add a new method debug(Class, String) to do initial tracing source of messages. 2005-06-10 22:44 mokhov * src/marf/MARF.java: Add commans in the config output for better readability. 2005-06-10 21:53 mokhov * src/marf/util/Debug.java: Document the class and add two new argumentless convenience methods enableDebug() and debug(). 2005-06-10 21:36 mokhov * src/marf/util/Arrays.java: Update comments of the constructor and a couple of routines. 2005-06-10 21:25 mokhov * src/marf/Classification/: Markov/Markov.java, NeuralNetwork/Layer.java, NeuralNetwork/NeuralNetwork.java, NeuralNetwork/Neuron.java, Stochastic/MaxProbabilityClassifier.java, Stochastic/Stochastic.java, Stochastic/ZipfLaw.java: Clear all classification modules of missing javadoc warnings. 2005-06-10 20:48 mokhov * src/marf/MARF.java: Fix a small bug in the error message reporting wrong upper boundary of available preprocessing methods. This is related to the bug I developed the patch for from the previous release (0.3.0-devel-20040614) which unfortunatelly slipped through. Hopefully, this is not critical compared to the original bug. 2005-06-10 16:05 mokhov * src/marf/Classification/Makefile: Correctly escape EOL in the .class file list. 2005-06-10 16:03 mokhov * src/: test.java, marf/Preprocessing/IPreprocessing.java: Add newly created interfaces to the Revision Project. 2005-06-10 16:00 mokhov * src/marf/: Classification/IClassification.java, Classification/Makefile, FeatureExtraction/Makefile: Add interface to targets and correct some formatting. 2005-06-10 15:59 mokhov * src/marf/Preprocessing/: IPreprocessing.java, Makefile, Preprocessing.java: Introduce IPreprocessing for extensions. 2005-06-10 15:49 mokhov * src/marf/FeatureExtraction/: FeatureExtraction.java, IFeatureExtraction.java, Makefile: Introduce a notion of IFeatureExtraction for extensions. 2005-06-10 15:39 mokhov * src/marf/Classification/Makefile: Make Makefile be aware of IClassification. 2005-06-10 15:36 mokhov * src/marf/Storage/: IDatabase.java, ISampleLoader.java, IStorageManager.java: Strip out redundant public/static/final modifiers that are assumed in interfaces. 2005-06-10 15:34 mokhov * src/marf/Classification/: Classification.java, IClassification.java: Introduce a notion of IClassification interface in case there are some extensions of MARF out there wishing to exist and extend. Have the genereric Classification module implement it. 2005-06-09 17:32 mokhov * doc/pipeline.ppt: Add initial source of the MARF pipeline. 2005-06-06 19:26 mokhov * src/Makefile: Make sure COPYRIGHT is added in the distro build. 2005-06-06 17:42 mokhov * ChangeLog, src/tools/cvs2cl.sh: Make cvs2cl.sh to use MAIN and precede ./cvs2cl.pl with a "./". Update ChangeLog from all these commit logs -- will need to clean before the final. 2005-06-06 15:30 mokhov * src/tools/stats2latex.pl: Correct a spelling mistake. 2005-06-06 15:08 mokhov * doc/src/tex/: appendix.tex, architecture.tex, diff-distance.tex, experimentation.tex, f0.tex, gui.tex, history.tex, intro.tex, minmax.tex, nnet.tex, raw.tex, results.tex, sample-formats.tex, spectrogram.tex, stats.tex, test-fft.tex, test-filters.tex, test-lpc.tex, test-wave-loader.tex, training.tex, wave-grapher.tex: Primarily run a basic spellcheck. Add some Revision entries and \api and \tool commands. Update the option description of SpeakerIdenApp. Correct some results-related data. Add a few more index entries. 2005-06-06 14:18 mokhov * doc/src/tex/installation.tex: Clean up remnant PG stuff. 2005-06-06 14:02 mokhov * TODO: Add more marf.util stuff to complete for the next release. 2005-06-06 13:58 mokhov * doc/src/tex/report.tex: Reflect the true version in the title as well and keep the Group as the author. 2005-06-06 13:52 mokhov * doc/src/tex/sources.tex: Fix misspelled \index. 2005-06-06 13:51 mokhov * doc/src/tex/report.tex: Spell out full version of todays release. 2005-06-06 13:50 mokhov * doc/src/tex/sources.tex: Add a link to Coding Conventions. Use more of the new commands. 2005-06-06 13:38 mokhov * doc/src/tex/report.tex: Fix include. 2005-06-06 13:35 mokhov * README, HISTORY, INSTALL, TODO, doc/src/tex/installation.tex, doc/src/tex/report.tex: Perform update of the docs to more recent state of affairs. Mark a few TODO items in them. Account for dangling installation.tex file. All of these will require more work, but this will happen in the next release. 2005-06-06 13:06 mokhov * doc/src/tex/: build.tex, report.tex: Add Build System Chapter stub. 2005-06-06 12:43 mokhov * doc/src/tex/: output.tex, sampleloading.tex: Remove DOS EOLs. 2005-06-06 12:42 mokhov * doc/src/tex/history.tex: Massage history a bit. Will need to integrate with HISTORY file later. 2005-06-06 10:33 mokhov * src/tools/stats2latex.pl: Correct shebang and add introductory comments. 2005-06-06 07:32 mokhov * src/tools/cvs2cl.sh: Add wrapper script with default options for MARF. 2005-06-06 01:09 mokhov * TODO: Add a couple more items for SpeakerIdentApp. 2005-06-06 01:04 mokhov * doc/src/tex/: architecture.tex, conclusions.tex, data.tex, experimentation.tex: Update/correct a few things WRT to the upcoming release. Update counts and wording in Arch and Conlclusion. Update dir. structure to smth more resembling reality -- will need a script for that. Add a couple more $Revision: 1.3 $ and index entries. 2005-06-05 21:45 mokhov * doc/src/tex/: best-score.tex, stats-date.tex, stats.tex: Update the stats data from SpeakersIdentApp's run. 2005-06-05 21:18 mokhov * TODO, doc/src/tex/raw.tex, doc/src/tex/storage.tex, doc/src/tex/training.tex: Account for two more dangling .tex files. Cosmetic fixes elsewhere. 2005-06-05 20:03 mokhov * doc/src/tex/sample-formats.tex: Massage sample-formats.tex slightly. Will need more work on it later. 2005-06-05 20:02 mokhov * doc/src/tex/: sampleloading.tex, storage.tex: Add $Revision: 1.3 $, EOF, and account for sample-formats.tex. 2005-06-05 19:39 mokhov * src/marf/util/Logger.java: Add missing imports. 2005-06-05 19:36 mokhov * src/marf/util/Logger.java: Apparently, PrintSream(String) does not exist in Java 1.4, so create a workaround for it. 2005-06-04 21:16 mokhov * Makefile.global, src/Makefile, src/marf/Makefile, src/marf/Classification/Makefile, src/marf/Classification/Distance/Makefile, src/marf/Classification/Markov/Makefile, src/marf/Classification/NeuralNetwork/Makefile, src/marf/Classification/RandomClassification/Makefile, src/marf/Classification/Stochastic/Makefile, src/marf/FeatureExtraction/Makefile, src/marf/FeatureExtraction/Cepstral/Makefile, src/marf/FeatureExtraction/F0/Makefile, src/marf/FeatureExtraction/FFT/Makefile, src/marf/FeatureExtraction/LPC/Makefile, src/marf/FeatureExtraction/MinMaxAmplitudes/Makefile, src/marf/FeatureExtraction/RandomFeatureExtraction/Makefile, src/marf/FeatureExtraction/Segmentation/Makefile, src/marf/Preprocessing/Makefile, src/marf/Preprocessing/Dummy/Makefile, src/marf/Preprocessing/Endpoint/Makefile, src/marf/Preprocessing/FFTFilter/Makefile, src/marf/Stats/Makefile, src/marf/Stats/StatisticalEstimators/Makefile, src/marf/Stats/StatisticalEstimators/Smoothing/Makefile, src/marf/Storage/Makefile, src/marf/Storage/Loaders/Makefile, src/marf/gui/Makefile, src/marf/gui/util/Makefile, src/marf/math/Makefile, src/marf/nlp/Makefile, src/marf/nlp/Collocations/Makefile, src/marf/nlp/Parsing/Makefile, src/marf/nlp/Parsing/GrammarCompiler/Makefile, src/marf/nlp/Stemming/Makefile, src/marf/nlp/util/Makefile, src/marf/util/Makefile, src/marf/util/comparators/Makefile: Fully implement the Makefile Build System for all of MARF, finally. 2005-06-04 21:15 mokhov * TODO: Update TODO WRT to the stuff completed more. Add new items, such as Schema, DUMP_SQL, and DUMP_HTML. Add previously missing MathTestApp. Update GUI items: > - MathTestApp > - Add GUI > - Release. > * Make executable .jar > 124d128 < - Individually 125a130 > ++- Individually 141c146 < +--- A Makefile per directory --- > * A Makefile per directory 154c159 < - Apps jars --- > +++-- Apps jars 186d190 < - High-pass filter with high-frequency boost together {0.3.0} 191a196 > * High-pass filter with high-frequency boost together {0.3.0} 298a304 > - shear 305,306c311 < * Fix filename stuff (module_dirname to module_filename) < - Make it a BorderPanel --- > +----- Implement SpectrogramPanel 307a313 > * Fix filename stuff (module_dirname to module_filename) 309c315 < - Make it a BorderPanel --- > +----- Implement WaveGrapherPanel 337c343 < - Exceptions {0.3.0} --- > - MARF Exceptions Framework {0.3.0} 346,349c352 < * Add marf.util.Debug module. < * marf.util.Debug.debug() < * Replicate MARF.debug() --> marf.util.Debug.debug() < - OptionProcessor --- > +- OptionProcessor 352a356,358 > * Add marf.util.Debug module. > * marf.util.Debug.debug() > * Replicate MARF.debug() --> marf.util.Debug.debug() 361,363c367,380 < +++- DUMP_BINARY (w/o compression) {0.3.0} < - DUMP_XML {?.?.?} < - DUMP_CSV {?.?.?} --- > - Implement > - Schema (as in DB for exports) > - Common attribute names for > - SQL > - XML > - HTML > - CSV > - Metadata / DDL > - Dump/Restore Types > +++- DUMP_BINARY (w/o compression) {0.3.0} > - DUMP_XML {?.?.?} > - DUMP_CSV {?.?.?} > - DUMP_HTML {?.?.?} > - DUMP_SQL {?.?.?} 368c385 < - convertability: bin.gzip <-> bin <-> csv <-> xml --- > - convertability: gzbin <-> bin <-> csv <-> xml <-> html <-> sql 442c459 < - Add module --- > * Add module 446,448c463,465 < - stats2latex < - cvs2cl < - cvs2html --- > * stats2latex > * cvs2cl > * cvs2html 465,467d481 < +- fix javadoc 1.4/1.5 warnings < * fix Appendix < * split-out bibliography 472,473d485 < * ChangeLog < * report components [serge] 495d506 < * index 498a510,515 > * fix javadoc 1.4/1.5 warnings > * fix Appendix > * split-out bibliography > * index > * ChangeLog > * report components [serge] 503c520 < - ChanageLog --- > +- ChanageLog 2005-06-04 20:27 mokhov * src/marf/nlp/Stemming/: Stemming.java, StemmingEN.java: Document thereby removing javadoc warnings. 2005-06-04 20:23 mokhov * src/marf/nlp/util/NLPStreamTokenizer.java: Expand imports. 2005-06-04 20:13 mokhov * src/marf/Preprocessing/FFTFilter/BandpassFilter.java: Add missing javadocs and remove unused import. 2005-06-04 19:52 mokhov * src/marf/Preprocessing/Dummy/Dummy.java: Add missing javadocs. 2005-06-04 19:52 mokhov * src/marf/Preprocessing/Endpoint/Endpoint.java: Correct/add missing javadocs. Remove now-implemented leftover of StorageManager API. 2005-06-04 19:51 mokhov * src/marf/util/Arrays.java: Implement copy(int[], int[], int). Add/adjust comments elsewhere. 2005-06-04 13:54 mokhov * TODO: Update TODO to the more recent state of affairs WRT the five apps ready to be released and a few items in the framework. Move completed items down their hiearachies and uncompleted up. 2005-06-04 13:49 mokhov * .classpath: Add CVS exlusion filter. 2005-06-04 12:05 mokhov * src/tools/: cvs2cl.pl, cvs2html.pl, stats2latex.pl: Add CVS Log to ChangeLog and CVS Log to HTML tools. Add my tool to convert stats to LaTeX format. 2005-06-04 00:05 mokhov * Makefile: Do NOT remove distro dir on maintainer-clean for now, else the distro build erases it. 2005-06-03 23:54 mokhov * src/marf/: Preprocessing/Preprocessing.java, nlp/Parsing/LexicalAnalyzer.java, nlp/Parsing/Parser.java, nlp/Parsing/Token.java, nlp/Parsing/TransitionTable.java, nlp/Parsing/GrammarCompiler/Grammar.java, util/Arrays.java: Correct comments javadoc was complaining about. 2005-06-03 21:22 mokhov * src/marf/Storage/: Database.java, IDatabase.java: Add/correct some missing/incorrect javadoc comments. 2005-06-03 13:09 mokhov * src/marf/Storage/: ISampleLoader.java, MARFAudioFileFormat.java, Sample.java, SampleLoader.java, Loaders/SineLoader.java, Loaders/WAVLoader.java: Provide first complete implementaion of MARFAudioFileFormat with needed extensions of AudioFileFormat and AudioFileFormat.Type to support additional formats. Move the enumeration constants of formats and the getAudioFormat() and setAudioFormat() API from Sample. Renumber them to start with 700 for the the same reasons the MARF's constants were renumbered. Update setAudioFormat() to also uptdate internal Type instance. Re-implement the default constructor to have a meaning at least as far as our WAVE loading concerned. Add a few more logical constructors related to MARF and overriding the protected one of the parent. Add static instances of SINE, MP3, ULAW, and MIDI of Type. Document all class members. Reimplement get/setAudioFormat() API of Sample through MARFAudioFileFormat now. Move constants DEFAULT_SAMPLE_BIT_SIZE and DEFAULT_CHANNELS all the way up to ISampleLoader as intended to be used by most SampleLoader implementations. Move variables iRequiredBitSize and iRequiredChannels to SampleLoader as they seem to be pertinent not only to WAVLoader anymore. Apply coding conventions in places. Document the WAVLoader code a bit more. 2005-06-03 13:06 mokhov * src/marf/MARF.java: Renumber enumerations of modules so that they don't overlap and have well enough leeway for expansion. This change was prompted by a tendancy I noticed while reviewing TestFilters' option processing. While there was no immediate bug there, but it was just waiting to happen -- using different constants for different module types and subtypes that all have begun with 0 -- evetually this would confuse option processing as two different options would map to the same value causing one of them to be lost. There is a great potention of error in other areas due to this. Now all preprocessing methods begin with a 100, feature extraction with 300, and classification with 500. Make the UNSET constant public. In a semi-related change, update sample file format enumeration to be the same as of newly implemented MARFAudioFileFormat, so there are no discrepancies in the constant values. Add a few missing @since tags and correct erroneus comments along the way. Bump MINOR_REVISION to 2. Have to use it some day. 2005-06-03 12:37 mokhov * src/test.java: Printout the interface revision information the way it's done for classes. Add a few missing @since tags. 2005-06-02 20:59 mokhov * src/marf/Storage/Loaders/WAVLoader.java: Clean up exception handling. 2005-06-02 20:58 mokhov * src/marf/Storage/Sample.java: Add default chunk size constant to be used internally and by the apps to avoid harcoding. 2005-06-02 12:07 mokhov * src/marf/FeatureExtraction/MinMaxAmplitudes/MinMaxAmplitudes.java: Correct a typo in a comment. 2005-06-02 09:05 mokhov * src/Makefile: Remove obsolete comments and make the install target more sensical. 2005-06-01 23:51 mokhov * doc/src/tex/: nlp.tex, report.tex: Add stub NLP chapter. 2005-06-01 23:33 mokhov * src/marf/FeatureExtraction/MinMaxAmplitudes/MinMaxAmplitudes.java: Add a data debug message. Correct an off-by-one bug in copying of the maximums. 2005-06-01 22:44 mokhov * doc/src/tex/: feature-extraction.tex, minmax.tex: Add initial description of the Min/Max Amplitudes classifier. 2005-06-01 22:32 mokhov * doc/src/tex/f0.tex: Add Revision and an index entry. 2005-06-01 22:23 mokhov * doc/src/tex/: preprocessing.tex, raw.tex: Add a brief description of the Raw preprocessing module with Revisions. 2005-06-01 22:05 mokhov * doc/src/tex/: classification.tex, diff-distance.tex: Add a first cut of the Diff Distance section. Add Revision to Classification. 2005-06-01 22:04 mokhov * doc/src/tex/mahalanobis-distance.tex: Add subsections and Revision. Correct the last para about the state of the implementation. 2005-06-01 21:49 mokhov * src/marf/Classification/Distance/: ChebyshevDistance.java, DiffDistance.java: Clean up one import and incorrect javadoc params. 2005-06-01 21:12 mokhov * src/marf/MARF.java: Since MARF.debug() is gone, remove the DEBUG flag as well. All the uses of the two have been updated everywhere to use the marf.util.Debug class instead. 2005-06-01 15:42 mokhov * src/marf/util/Matrix.java: Just like for FreeVector, methods of Matrix must be synchronized. 2005-06-01 15:38 mokhov * src/marf/util/: Arrays.java, BaseThread.java, ByteUtils.java, Debug.java, ExpandedThreadGroup.java, FreeVector.java, InvalidSampleFormatException.java, Logger.java, MARFException.java, Matrix.java, NotImplementedException.java, OptionProcessor.java, SortComparator.java, comparators/FrequencyComparator.java, comparators/RankComparator.java, comparators/ResultComparator.java: Complete code review preparation for the upcoming 0.3.0-devel release with util. Specifically, add/correct some javadoc comments. Add missing author/version/since tags. Fix formatting a little. Make Debug a subclass of Logger. Make all methods of Debug synchronized to be thread-safe. Mark all methods of FreeVector synchronized as well, just like its parent's. Expand a few imports. 2005-06-01 15:30 mokhov * src/marf/Stats/: Ngram.java, Observation.java, ProbabilityTable.java, StatisticalObject.java, StatsCollector.java, WordStats.java, StatisticalEstimators/GLI.java, StatisticalEstimators/KatzBackoff.java, StatisticalEstimators/MLE.java, StatisticalEstimators/SLI.java, StatisticalEstimators/StatisticalEstimator.java, StatisticalEstimators/Smoothing/AddDelta.java, StatisticalEstimators/Smoothing/AddOne.java, StatisticalEstimators/Smoothing/GoodTuring.java, StatisticalEstimators/Smoothing/Smoothing.java, StatisticalEstimators/Smoothing/WittenBell.java: Prepare Stats for the upcoming 0.3.0-devel release. Specifically, Add/correct class javadoc comments. Add author/version/since tags. Fix formatting a little. Expand imports. Move Serializable up to Statistical object as all it derivatives need to be able to be serialized anyway. 2005-06-01 15:21 mokhov * src/marf/Storage/: Cluster.java, Database.java, ISampleLoader.java, ResultSet.java, TrainingSet.java: Correct some erroneous/missing javadoc comments, reported by Eclipse. Document a few things. Make Database to call super() in its constructor. 2005-06-01 01:35 mokhov * src/marf/nlp/: Parsing/ClassSymTabEntry.java, Parsing/CodeGenerator.java, Parsing/Compiler.java, Parsing/CompilerError.java, Parsing/FuncSymTabEntry.java, Parsing/GenericLexicalAnalyzer.java, Parsing/LexicalAnalyzer.java, Parsing/LexicalError.java, Parsing/Parser.java, Parsing/ProbabilisticParser.java, Parsing/SemanticAnalyzer.java, Parsing/SemanticError.java, Parsing/SymDataType.java, Parsing/SymTabEntry.java, Parsing/SymbolTable.java, Parsing/SyntaxError.java, Parsing/Token.java, Parsing/TokenSubType.java, Parsing/TokenType.java, Parsing/TransitionTable.java, Parsing/VarSymTabEntry.java, Parsing/GrammarCompiler/Grammar.java, Parsing/GrammarCompiler/GrammarAnalyzer.java, Parsing/GrammarCompiler/GrammarCompiler.java, Parsing/GrammarCompiler/GrammarElement.java, Parsing/GrammarCompiler/GrammarTokenType.java, Parsing/GrammarCompiler/NonTerminal.java, Parsing/GrammarCompiler/ProbabilisticGrammarAnalyzer.java, Parsing/GrammarCompiler/ProbabilisticGrammarCompiler.java, Parsing/GrammarCompiler/ProbabilisticGrammarTokenType.java, Parsing/GrammarCompiler/ProbabilisticRule.java, Parsing/GrammarCompiler/Rule.java, Parsing/GrammarCompiler/SemanticToken.java, Parsing/GrammarCompiler/Terminal.java, Stemming/Stemming.java, Stemming/StemmingEN.java, util/NLPStreamTokenizer.java: Prepare NLP stuff for the upcoming 0.3.0-devel release. Specifically, add author/version/since tags everywhere. Correct/adjust/add more comments. Correct some formatting and clean up code a bit. Expand/clean up imports in most places. 2005-05-31 21:57 mokhov * src/marf/math/: Algorithms.java, Matrix.java: In preparation to the next 0.3.0-devel release correct some erroenous comments and document more. Fix some formatting. 2005-05-31 21:55 mokhov * src/marf/gui/util/BorderPanel.java: Add missing @param javadoc tag. 2005-05-31 21:54 mokhov * src/marf/MARF.java: Correct all javadoc warnings and document at least all public members. 2005-05-31 11:44 mokhov * src/marf/Storage/Loaders/: SineLoader.java, WAVLoader.java: Update javadoc comments. In SineLoader make updateSample() to resetArrayMark() of Sample. In WAVLoader override reset() of SampleLoader and add oByteArrayOutputStream reset there. Document code a little more and fix a few formatting glitches. 2005-05-31 11:42 mokhov * src/marf/Storage/: Cluster.java, FeatureSet.java, ModuleParams.java, TrainingSet.java: Expand/clean up imports. 2005-05-31 11:39 mokhov * src/marf/Classification/Distance/: Distance.java, MahalanobisDistance.java: Remove redundant imports. 2005-05-31 08:54 mokhov * src/marf/Preprocessing/Preprocessing.java: Correct spelling of oObjectToSerialize and getAudioFormat(). 2005-05-31 08:50 mokhov * src/marf/Preprocessing/: Preprocessing.java, PreprocessingException.java, Dummy/Dummy.java, Endpoint/Endpoint.java, FFTFilter/BandpassFilter.java, FFTFilter/FFTFilter.java, FFTFilter/HighFrequencyBoost.java: Prepare for the upcoming 0.3.0-devel release. Specifically: Implement rudimentaty dump()/restore() semantics based on the base implementations of such in StorageManager with BINARY and GZIP_BINARY methods for enclosing Sample object. Remove previously unimplemented stubs of dump()/restore() calls. Implement backSynchronizeObject() and mark some other than oSample data members as transient in case we would want to dump the modules themselves. Generate the dump file name for now based on Sample's class name, sample's file format, and preprocessing method used, followed by the ".sample" extension. This has a downside of only having max such a file per format per preprocessing, but that's a start. Otherwise prepare the author/version/since javadoc comments, correct formatting, and document a little more. 2005-05-31 08:43 mokhov * src/marf/Storage/StorageManager.java: Implement a logically missing constructor that takes only the Object to serialize argument. 2005-05-31 02:10 mokhov * src/marf/Storage/SampleLoader.java: Remove useless cast and replace it with coding conventions instead. 2005-05-31 02:07 mokhov * src/marf/Storage/: SampleLoader.java, Loaders/SineLoader.java: In SampleLoader allow derivatives to override updateSample(), getSampleSize(), and reset(). Overide the former two in SineLoader so no bogus errors are thrown out due to inability to update or prompt for a size a fictious sample. Observed (I think) by Shuxin while implementing TestLoaders. 2005-05-31 00:29 mokhov * src/marf/math/Algorithms.java: Add $Id: ChangeLog,v 1.3 2005/07/30 22:56:59 mokhov Exp $ and a

tag. 2005-05-31 00:26 mokhov * src/marf/gui/: Spectrogram.java, SpectrogramPanel.java, WaveGrapher.java, WaveGrapherPanel.java, util/ColoredStatusPanel.java, util/SmartSizablePanel.java: Primarily, expand imports. Add $Id: ChangeLog,v 1.3 2005/07/30 22:56:59 mokhov Exp $ where it was missing. 2005-05-31 00:22 mokhov * src/marf/FeatureExtraction/: FFT/FFT.java, MinMaxAmplitudes/MinMaxAmplitudes.java: Prepare for the next 0.3.0-devel release. Specifically: In FFT replace too-specific reference to WAVLoader by more general SampleLoader given than the latter has the constant the former was referring to now. Implement toString() in MinMaxAmplitudes for further debugging. 2005-05-31 00:19 mokhov * src/marf/util/Arrays.java: Begin implementing new series of conversion methods from an array to a Vector -- arrayToVector(), which are not present in java.util.Arrays(). For now implement double[] -> Vector and int[] -> Vector. The implementation is not optimized. 2005-05-30 23:14 mokhov * src/: test.java, marf/Classification/NeuralNetwork/Layer.java: Add a stub for Neural Network Layer abtraction. Add it to the Revision Project. 2005-05-30 23:06 mokhov * src/test.java: Clean up unused/duplicate imports. 2005-05-30 15:25 mokhov * .classpath: Remove the extra output path for some reason set by Shuxin. 2005-05-30 09:53 mokhov * src/marf/Classification/Classification.java: Add missing import -- fell into the same pitfall again. 2005-05-30 09:51 mokhov * src/marf/: Storage/TrainingSet.java, util/MARFException.java, util/NotImplementedException.java: Correct formatting and some comments. 2005-05-30 09:25 susan_fan * .classpath, src/marf/Storage/SampleLoader.java, src/marf/Storage/TrainingSet.java, src/marf/util/InvalidSampleFormatException.java, src/marf/util/MARFException.java, src/marf/util/NotImplementedException.java: correct my mistake of getRevision(). 2005-05-30 07:59 mokhov * src/marf/Classification/: Classification.java, ClassificationException.java, Distance/ChebyshevDistance.java, Distance/Distance.java, Distance/EuclideanDistance.java, Distance/MahalanobisDistance.java, Distance/MinkowskiDistance.java, Markov/Markov.java, NeuralNetwork/NeuralNetwork.java, NeuralNetwork/Neuron.java, RandomClassification/RandomClassification.java, Stochastic/Stochastic.java, Stochastic/ZipfLaw.java: Prepare Classification gang for the next 0.3.0-devel release. Specifically, Add debug() calls in Classification in dump()/restore() where oTrainingSet can be null or not null -- better be warned. Update javadoc comments in many places. Complete author/version/since tags for all classes. Add trailing periods where they were missing. Add missing @since for getRevision() API in places. Correct formatting and spacing in many places. Expand a few more imports. Trim trailing blanks. In NeuralNetwork artifically classify 2nd ID as +1 from the 1st so they are not the same. This kludge will need be fixed at some point. In RandomClassification generate the filename based on preprocessing and feature extraction methods, so the training sets for it are clustered. Also, pick the minimum result from the two random results so that no two IDs are the same. Additionally, update toString() to display the filename. Apply more coding conventions in places. Remove redundant members present in the parent classes. 2005-05-29 20:20 mokhov * src/marf/Storage/TrainingSample.java: Should rethrow any IOException as StorageException. 2005-05-29 20:19 mokhov * src/marf/Classification/Classification.java: One more remnant setTrainingSetFile() call is gone. 2005-05-29 20:16 mokhov * src/marf/: Classification/Classification.java, Storage/TrainingSet.java: Get rid of setTrainingSetFile() API. 2005-05-29 20:10 mokhov * src/marf/Storage/TrainingSet.java: Get rid of remnant TrainingSetFile code and use what StorageManager provides. 2005-05-29 20:07 mokhov * src/marf/Storage/StorageException.java: Fix spelling of poException. 2005-05-29 20:05 mokhov * src/marf/Storage/ModuleParams.java: piModule should become piModuleType everywhere. 2005-05-29 20:03 mokhov * src/marf/Storage/StorageManager.java: Revert to the original coding of the default constructor and document why we do so -- 'this' has to exist before getClass() can be called. 2005-05-29 19:47 mokhov * src/marf/Storage/: Cluster.java, FeatureSet.java, IDatabase.java, ISampleLoader.java, IStorageManager.java, MARFAudioFileFormat.java, ModuleParams.java, Result.java, ResultSet.java, Sample.java, SampleLoader.java, StorageException.java, StorageManager.java, TrainingSample.java, TrainingSet.java, Loaders/SineLoader.java, Loaders/ULAWLoader.java: Prepare for the next 0.3.0-devel release. This includes: update of author/version/since javadoc comments, full documentation of StorageManager and IStorageManager, addition of the new API to IStorageManager/StorageManager of dump/restoreHTML/SQL() to fulfill the remaining constants enumeration. Code clean up in Cluster, TrainingSet, and TrainingSample of removing extra imports/implements/data members, such as dump file name which already present in the parent classes. Also make the private data members protected in case there will be someone inheriting from these classes. Mark a few code TODO items. Clean up overall javadoc comments and add some missing parts and trailing periods that javadoc requires. Add INTERFACE_CODE_REVISION constants to IStorageManager, IDatabase, and ISampleLoader to maintain accessible code revision information as it is done for classes. Fix code formatting in places and trim trailing whitespace. Change a few Debug.debug() calls to System.err.println() to be always reported to the user independently on the debug flag in ModuleParams and other places. Add missing @since tags for getRevision() API in a few older modules. Make sure ResultSet is also Serializable, like Result or TrainingSet. This commit makes some class structural changes (in particular to the TrainingSet class) that are likely to break previous training set dumps; retraining may be required. Apply some more coding conventions along the way. 2005-05-29 13:49 mokhov * src/marf/FeatureExtraction/LPC/LPC.java: Fix a bug in LPC I introduced when trying to optimze array updates replacing addition by simply copying. Revert that change. 2005-05-28 22:16 mokhov * src/marf/gui/: Spectrogram.java, WaveGrapher.java, util/ColoredStatusPanel.java, util/SmartSizablePanel.java: Update author/version/since tags and other javadoc comments. Add trailing periods where they were missing. Apply coding conventions in places. Clean up formatting. All this in preparation to the next devel release. 2005-05-28 21:11 mokhov * src/: test.java, marf/gui/SpectrogramPanel.java, marf/gui/WaveGrapherPanel.java: Add two new GUI stubs for future containment of WaveGrapher and Spectogram. Add them to the Revision project. 2005-05-28 20:26 susan_fan * src/test.java: add import class and printout files 2005-05-28 18:59 susan_fan * src/marf/: MARF.java, Classification/Distance/Distance.java, Classification/Distance/MahalanobisDistance.java, Classification/NeuralNetwork/NeuralNetwork.java, Preprocessing/FFTFilter/BandpassFilter.java, Storage/Cluster.java, Storage/FeatureSet.java, Storage/ModuleParams.java: Add import marf/util/Debug for the classes replaced Marf.debug() with Debug.debug() 2005-05-28 17:00 susan_fan * src/marf/: MARF.java, Classification/Distance/Distance.java, Classification/Distance/MahalanobisDistance.java, Classification/NeuralNetwork/NeuralNetwork.java, Preprocessing/FFTFilter/BandpassFilter.java, Storage/Cluster.java, Storage/FeatureSet.java, Storage/ModuleParams.java, Storage/TrainingSet.java, gui/Spectrogram.java, gui/WaveGrapher.java: Replace MARF.debug() with Debug.debug() 2005-05-28 16:39 susan_fan * src/marf/: Storage/FeatureSet.java, Storage/MARFAudioFileFormat.java, Storage/ModuleParams.java, Storage/SampleLoader.java, Storage/StorageException.java, Storage/StorageManager.java, Storage/TrainingSample.java, Storage/TrainingSet.java, Stats/Observation.java, Stats/ProbabilityTable.java, Stats/StatisticalObject.java, Stats/WordStats.java, gui/Spectrogram.java, gui/WaveGrapher.java, math/Algorithms.java: Add getRevision() 2005-05-28 16:33 susan_fan * src/marf/util/: Arrays.java, ByteUtils.java, InvalidSampleFormatException.java, MARFException.java, NotImplementedException.java, SortComparator.java, comparators/FrequencyComparator.java, comparators/ResultComparator.java: add getRevision() 2005-05-28 13:17 mokhov * src/tools/revision-check.sh: Implement rudimentary check of missing printouts in test.java. 2005-05-28 12:56 mokhov * src/tools/revision-check.sh: Escape properly dots in expressions as they are treated as special characters otherwise causing filtering out a bit more than enough. This gives us back ChebyshevDistance, per report from Shuxin. 2005-05-28 12:17 mokhov * src/tools/revision-check.sh: Account for # and ~ backup files. 2005-05-27 22:31 mokhov * doc/src/tex/apps.tex: Add (for now commented out) inputs for the three NLP apps. Commented out because I haven't completed work on them yet. This I think is not necessary for a -devel release. 2005-05-27 22:27 mokhov * src/marf/: Makefile, Classification/Makefile, Classification/Distance/Makefile, Classification/Markov/Makefile, Classification/NeuralNetwork/Makefile, Classification/RandomClassification/Makefile, Classification/Stochastic/Makefile, FeatureExtraction/Makefile, FeatureExtraction/Cepstral/Makefile, FeatureExtraction/F0/Makefile, FeatureExtraction/FFT/Makefile, FeatureExtraction/LPC/Makefile, FeatureExtraction/MinMaxAmplitudes/Makefile, FeatureExtraction/RandomFeatureExtraction/Makefile, FeatureExtraction/Segmentation/Makefile, Preprocessing/Makefile, Preprocessing/Dummy/Makefile, Preprocessing/Endpoint/Makefile, Preprocessing/FFTFilter/Makefile, Stats/Makefile, Stats/StatisticalEstimators/Makefile, Storage/Makefile, Storage/Loaders/Makefile, gui/Makefile, gui/util/Makefile, math/Makefile, nlp/Makefile, nlp/Collocations/Makefile, nlp/Parsing/Makefile, nlp/Parsing/GrammarCompiler/Makefile, nlp/Stemming/Makefile, nlp/util/Makefile, util/Makefile: Add Makefile placeholders throughout MARF directories. 2005-05-27 22:26 mokhov * src/marf/Storage/Database.java: Change @exception to @throws. 2005-05-27 21:41 mokhov * src/tools/make-test.sh: Add gmake/make test utility script. 2005-05-27 19:33 mokhov * src/marf/Classification/Classification.java: Use less clumsy instance method to determine file extension. 2005-05-27 19:32 mokhov * src/marf/FeatureExtraction/MinMaxAmplitudes/MinMaxAmplitudes.java: Document what needs to be done to improve the performance of this feature extraction module. 2005-05-27 19:30 mokhov * src/marf/Classification/Distance/DiffDistance.java: Improve performance of the distance classifier again now its best peformance is better than other configurations with normalization and FFT. 2005-05-27 09:56 mokhov * src/marf/Classification/Distance/DiffDistance.java: Achieve the best case classification performance to be at least as good as other distance classifiers. 2005-05-27 00:54 mokhov * src/tools/revision-check.sh: Complete first revision check tool. 2005-05-26 20:02 mokhov * src/tools/revision-check.sh: Add initial version of the revision check tool to see if all the public classes were "inventoried" with getRevision(). 2005-05-24 23:37 mokhov * src/marf/Classification/Distance/DiffDistance.java: Implement much more realistic diff-distance. There is one kludge in place -- uncondtional sorting of the two vectors. Ideally, this should be avoided and work in a way similar to the diff Unix utility. The performance is yet to be tested. Document the code a little. This implementation requires more testing. 2005-05-24 23:33 mokhov * src/marf/Classification/RandomClassification/RandomClassification.java: Correct a possible bug that caused very frequent dupes in the results when oIDs.size() is 0. Add a kludge that guarantees the iSecondID is different from iFirstID. Rethink the decision of super(null) in the constructor for future pipelined processing. Make use of Debug.debug(). Add some more debug code and comments. Add new toString() method for internal textual representation. 2005-05-24 22:04 mokhov * src/marf/math/MathException.java: The entire class appeared in 0.3.0, not just getRevision(). 2005-05-24 21:49 mokhov * src/marf/math/Algorithms.java: Get rid of the FeatureExtractionException entirely and replace it with MathException. 2005-05-24 21:46 mokhov * src/marf/: FeatureExtraction/FeatureExtraction.java, FeatureExtraction/FFT/FFT.java, FeatureExtraction/LPC/LPC.java, Preprocessing/FFTFilter/FFTFilter.java, math/Algorithms.java: Finally, I bit the bullet and created an initial version of the marf.math.Algorithms class, which is a collection of a few important algorithms in MARF, such as LPC, FFT, Hamming, etc. This enables decoupling of algorithms and modules that use them as one algorithm might be used in several module types, e.g. the FFT algorithm is used in both preprocessing and feature extraction. This also reduces kludgy module coupling. Not all agorithms can be that easily split, but it's okay for now, and in the marf.math package we will collect most of our module-independent math. 2005-05-24 20:48 mokhov * src/marf/FeatureExtraction/: FeatureExtraction.java, Cepstral/Cepstral.java, F0/F0.java, FFT/FFT.java, LPC/LPC.java, MinMaxAmplitudes/MinMaxAmplitudes.java, RandomFeatureExtraction/RandomFeatureExtraction.java, Segmentation/Segmentation.java: Implement backSynchronizeObject() API from StorageManager in FeatureExtraction, which allows previously unimplemented dump() and restore() to work for all feature extraction modules at least for DUMP_BINARY and DUMP_GZIP_BINARY cases. This is achieved by simply removing the unimplemented stubs in the concrete modules. Apply more coding conventions and clean up comments in few places along the way. NOTICE, the dump()/restore() of FE was not tested at the time of this commit. 2005-05-24 19:37 mokhov * src/marf/FeatureExtraction/: FeatureExtraction.java, MinMaxAmplitudes/MinMaxAmplitudes.java: Apply coding conventions and clean up more comments. Document constants in MinMaxAmplitudes and raise their values for now to 50, to see if it helps. 2005-05-24 19:35 mokhov * src/marf/math/: Matrix.java, Vector.java: Perform additional minor clean up review. 2005-05-24 19:34 mokhov * src/marf/FeatureExtraction/FeatureExtractionException.java: Add all parent's constructors and clean up a bit. 2005-05-24 19:32 mokhov * src/: test.java, marf/math/MathException.java: Add MathException for future use and add it to the Revision Project. Clean up formatting a bit more in test.java. 2005-05-23 23:29 mokhov * src/marf/FeatureExtraction/FFT/FFT.java: While browsing commit diffs online, I have spotted a bug I inadvertedly introduced via copy-paste while applying naming conventions -- replaced one variable with another. This may account for the recent FFT breakage. 2005-05-23 23:27 mokhov * src/marf/Storage/StorageManager.java: Implement getDefaultExtension() instance menthod based on the current dump type. Begin documenting new StorageManager and applying coding conventions. 2005-05-23 23:24 mokhov * src/marf/nlp/Parsing/GrammarCompiler/: GrammarCompiler.java, ProbabilisticGrammarCompiler.java: Apply a few more cosmetic fixes. Change a few error outputs to go to System.err. 2005-05-23 16:21 mokhov * src/marf/Storage/ISampleLoader.java: Correct spelling in comments. 2005-05-23 15:19 mokhov * src/: test.java, marf/Storage/Database.java, marf/Storage/IDatabase.java, marf/Storage/ISampleLoader.java, marf/Storage/MARFAudioFileFormat.java, marf/util/NotImplementedException.java: Make sure that IDatabase, Database, ISampleLoader, and MARFAudioFileFormat stubs compile. Add Database to the Revision Project. Adjust NotImplementedException to have a default constructor. 2005-05-23 14:47 mokhov * src/marf/Storage/Loaders/WAVLoader.java: Correct formatting. 2005-05-23 14:44 mokhov * src/Makefile: Teach makefile about marf/FeatureExtraction/MinMaxAmplitudes. 2005-05-23 14:42 mokhov * src/marf/Storage/ISampleLoader.java: Correct an error of not having a return type. 2005-05-23 14:26 mokhov * src/marf/Classification/RandomClassification/RandomClassification.java: Perform minor code clean up. 2005-05-23 14:24 mokhov * src/marf/: MARF.java, Storage/Sample.java, Storage/Loaders/AIFFCLoader.java, Storage/Loaders/AIFFLoader.java, Storage/Loaders/AULoader.java, Storage/Loaders/MIDILoader.java, Storage/Loaders/SNDLoader.java: Add stub loaders for Java-supported formats some of which we intend to implement for 0.3.0. These include AIFF, AIFFC, AU, SND, and MIDI. 2005-05-23 14:22 mokhov * src/marf/Storage/MARFAudioFileFormat.java: Add our own MARFAudioFileFormat as an extension of what Java provides as we intend to support more loaders. This is still a stub, to be implemented. 2005-05-23 14:20 mokhov * src/marf/Storage/Loaders/MP3Loader.java: Clean up code and comments a bit to use as a stub-template. 2005-05-23 14:18 mokhov * src/marf/Storage/Loaders/WAVLoader.java: Perform minor class comments clean up. 2005-05-23 14:16 mokhov * src/marf/Storage/: ISampleLoader.java, SampleLoader.java: In ananalogy to IStorageManager and as a good practice add ISampleLoader and move most of the abstract API to the interface and one shared constant. Perform minor clean ups along the way. 2005-05-23 14:07 mokhov * src/marf/Storage/StorageManager.java: Apply more coding conventions and perpform some minor code clean up. 2005-05-23 14:05 mokhov * src/marf/Storage/: IDatabase.java, Database.java: Add initial stubs of IDatabase and Database modules -- an initial step to move subject database functionality into MARF from applications. Inspired by SpeakersIdentDb. 2005-05-22 13:18 mokhov * src/marf/Classification/NeuralNetwork/NeuralNetwork.java: Rename MyErrorHandler to NeuralNetworkErrorHandler. Fix formatting a little more. Redirect some error output to System.err. 2005-05-22 13:14 mokhov * src/marf/Classification/Classification.java: Revert earlier decision of replacing save/loadTrainingSet() calls by dump()/restore() and document why it is wrong to do so. Discovered while doing full testing with all classifiers and NeuralNetwork failed. 2005-05-22 13:10 mokhov * src/marf/Storage/: StorageManager.java, TrainingSet.java: Refactor TrainingSet a bit my removing iDumpMode in favour of iCurrentDumpMode in StorageManager, and also by moving getDumpMode() and setDumpMode() to StorageManager, where they now naturally belong. Some comment fixes along the way. 2005-05-21 14:40 mokhov * src/test.java: Add DiffDistance, MinMaxAmplitudes Correct formatting and ordering. 2005-05-21 14:40 mokhov * src/marf/nlp/Parsing/GrammarCompiler/Terminal.java: Correct formatting. 2005-05-21 14:40 mokhov * src/marf/MARF.java: Officially add RAW preprocessing, MIN_MAX_AMPLITUDES feature extraction, and DIFF_DISTANCE classification entries. Expand imports at last. Mark MARF.DEBUG and MARF.debug() as deprecated. Begin use of Debug.debug() instead. Clean up obsolete / incorrect comments. Change "normalized" to "initial" WaveGraph name as it's no longer normalized upon construction. 2005-05-21 14:39 mokhov * src/marf/Classification/: Classification.java, Distance/ChebyshevDistance.java, Distance/DiffDistance.java: Update more comments. Adjust some code according to coding conventions. Add initial implementation of the DiffDistance classifier. 2005-05-21 14:38 mokhov * src/marf/FeatureExtraction/: FFT/FFT.java, LPC/LPC.java, MinMaxAmplitudes/MinMaxAmplitudes.java: Implement initial version of the MinMaxAmplitudes feature extraction. Begin use of Debug.debug() in places instead of deprecated MARF.debug(). Format code a little more. Apply more coding conventions. Expand some unexpanded imports. Update javadoc comments overall. 2005-05-21 14:38 mokhov * src/marf/Preprocessing/: Preprocessing.java, Dummy/Dummy.java, Dummy/Raw.java, Endpoint/Endpoint.java, FFTFilter/FFTFilter.java, FFTFilter/HighFrequencyBoost.java, FFTFilter/HighPassFilter.java, FFTFilter/LowPassFilter.java: Work more on preprocessing and filters. Correct Raw to pass the poSample paramter to the super class. Begin use of Debug.debug() in places instead of deprecated MARF.debug(). Format code a little more. Apply more coding conventions. Extract new API of sqrtHamming() in FFTFilter that was used there twice -- will eventually move to algos. Correct HighFrequencyBoost.preprocess() to report changes properly. Correct normalize(int, int) to actually use the params in the code. 2005-05-21 14:38 mokhov * src/marf/util/: Arrays.java, Debug.java: Implement Arrays.sort(double[]). Add Debug.enableDebug(). Apply some more coding conventions. 2005-05-20 16:45 susan_fan * src/test.java: Cut unnecessary part of class.getName() 2005-05-20 03:00 susan_fan * src/: test.java, marf/FeatureExtraction/FeatureExtraction.java, marf/FeatureExtraction/FeatureExtractionException.java, marf/FeatureExtraction/Cepstral/Cepstral.java, marf/FeatureExtraction/F0/F0.java, marf/FeatureExtraction/FFT/FFT.java, marf/FeatureExtraction/LPC/LPC.java, marf/FeatureExtraction/RandomFeatureExtraction/RandomFeatureExtraction.java, marf/FeatureExtraction/Segmentation/Segmentation.java, marf/Preprocessing/Dummy/Dummy.java, marf/Preprocessing/Endpoint/Endpoint.java, marf/Preprocessing/FFTFilter/BandpassFilter.java, marf/Preprocessing/FFTFilter/FFTFilter.java, marf/Preprocessing/FFTFilter/HighFrequencyBoost.java, marf/Preprocessing/FFTFilter/HighPassFilter.java, marf/Preprocessing/FFTFilter/LowPassFilter.java, marf/Storage/Loaders/MP3Loader.java, marf/Storage/Loaders/SineLoader.java, marf/Storage/Loaders/ULAWLoader.java, marf/Storage/Loaders/WAVLoader.java: Add Preprocessing, FeatureExtraction, and Loaders getRevision() in revision(). 2005-05-20 01:42 susan_fan * src/test.java: make all println use .class.getName() inside revision() method. 2005-05-20 00:35 susan_fan * src/: test.java, marf/Preprocessing/PreprocessingException.java, marf/Stats/StatisticalEstimators/StatisticalEstimator.java, marf/nlp/util/NLPStreamTokenizer.java: Add classes into revision() method. 2005-05-20 00:13 susan_fan * src/marf/nlp/Parsing/: CompilerError.java, GenericLexicalAnalyzer.java, LexicalAnalyzer.java, LexicalError.java, SymDataType.java, SymTabEntry.java, SymbolTable.java, SyntaxError.java, Token.java, TokenSubType.java, TokenType.java, TransitionTable.java, GrammarCompiler/Grammar.java, GrammarCompiler/GrammarAnalyzer.java, GrammarCompiler/GrammarCompiler.java, GrammarCompiler/GrammarElement.java, GrammarCompiler/GrammarTokenType.java, GrammarCompiler/NonTerminal.java, GrammarCompiler/ProbabilisticGrammarAnalyzer.java, GrammarCompiler/ProbabilisticGrammarTokenType.java, GrammarCompiler/ProbabilisticRule.java, GrammarCompiler/Rule.java, GrammarCompiler/SemanticToken.java, GrammarCompiler/Terminal.java: Add getRevision() 2005-05-19 19:57 mokhov * src/marf/Preprocessing/FFTFilter/HighFrequencyBoost.java: Implement HighFrequencyBoost more properly by re-normalizing only the part that's changed. Pull out hardcoded values of the default frequency cut-off and the base coefficient to constants. This is an incompatible change to the previous version of the class and has to be extensively tested. 2005-05-19 10:15 mokhov * src/marf/Preprocessing/Preprocessing.java: Update some javadoc comments and add getRevision(). 2005-05-19 10:06 mokhov * src/marf/Preprocessing/: Preprocessing.java, Dummy/Raw.java: Document the two new API normalize(int) and normalize(int, int) methods, a flexible extension of the original normalize() method. Correct an off-by-one bug in normalize(int) at the last index. Add getRevision() API to Raw along the way. 2005-05-19 09:41 mokhov * src/marf/Preprocessing/Dummy/Raw.java: Disambiguate parent constructor call. 2005-05-19 08:22 mokhov * src/marf/: Classification/Distance/DiffDistance.java, Preprocessing/Preprocessing.java, Preprocessing/Dummy/Dummy.java, Preprocessing/Dummy/Raw.java, Preprocessing/FFTFilter/FFTFilter.java: Move normalize() call out of Preprocessing constructor due to induced inflexibility. Instead the derivatives must call it themselves. Implement Raw preprcessing module for experiments to bypass normalization. Add a blank stub of DiffDistance classifier. 2005-05-19 08:10 mokhov * src/marf/FeatureExtraction/MinMaxAmplitudes/MinMaxAmplitudes.java: Add new blank stub for a new feature extraction module. Will implement later/in school, so just not to forget. 2005-05-18 01:14 mokhov * doc/src/tex/report.bib: Convert all \bibitems to @books for now. 2005-05-17 23:58 mokhov * doc/src/tex/report.bib: Resync with my main Bibliography. Update some .cse URLs, correct some names, remove duplicate of marf, begin conversion of NLP \bibitems to proper @item entries. 2005-05-17 19:33 mokhov * src/test.java: In the Revision Project make slightly more proper name of fetching fully-qualified class names, a lot better than hardcoding them. 2005-05-17 18:56 mokhov * Makefile: Add backup files trimming in maintainer-clean. Add some verbosity in the install target. 2005-05-17 12:21 susan_fan * doc/src/tex/: apps.tex, test-wave-loader.tex: Complete a short description of test-wave-loader.tex. 2005-05-17 11:00 mokhov * src/marf/MARF.java: Add another preprcessing method: HIGH_PASS_BOOST_FILTER, which is implemented to use the new Preprocessing(Preprocessing) API. Correct some comments. Clean up extraneous exception handling since the methods such as train() or recognize() have been declared to throw MARFException, we just propagate them along. 2005-05-17 10:53 mokhov * src/marf/Storage/Sample.java: Correct naming of a parameter variable. 2005-05-17 10:45 mokhov * src/marf/Preprocessing/: Preprocessing.java, Dummy/Dummy.java, Endpoint/Endpoint.java, FFTFilter/BandpassFilter.java, FFTFilter/FFTFilter.java, FFTFilter/HighFrequencyBoost.java, FFTFilter/HighPassFilter.java, FFTFilter/LowPassFilter.java: Add a Preprocessing(Preprocessing) constructor and its derivatives to allow some preprocessing modules chaining in the form of "new HighFrequencyBoost(new HightPassFilter(poSample))". This allows implementing combinations of preprocessing modules. Correct initial max value of 0.0 to the absolute minimum Double.MIN_VALUE to avoid any possibilities of not getting the maximum right. In the FFTFilter add a new API of genereateResponseCoefficients() that derivatives must implement in order to create the multiplication coefficients for frequency respons and in the actual filters move the code that used to do that from their constructors to genereateResponseCoefficients(). Use an updated conding standards-compliant FFT API. Correct some more javadocs. 2005-05-17 10:37 mokhov * src/marf/FeatureExtraction/FFT/FFT.java: Expand imports. Apply coding conventions to the API. Correct/update some javadocs. Format the code a little better in places. 2005-05-16 21:08 mokhov * src/marf/Storage/: IStorageManager.java, StorageManager.java: Clean up the IStorageManager code abit by removing redundant hangover-time declarations of 'static final' and 'abstract' that are implied in any interface type. Clean up existing javadoc comments. Will need to document more. Push Serializable from the StorageManager class to the IStorageManager interface. Add mapping between serialization types and filename extensions. Expand some imports. Format code a little. Add getDefaultExtension() API to retrieve filename extension based on the dump type or ".unknown" if the type out of the range. 2005-05-16 21:02 mokhov * src/marf/Classification/: Classification.java, Distance/Distance.java: Remove the iDumpMode variable from Classification in favour of the iCurrentDumpMode in StorageManager. Make use of the new API of getDefaultExtension() from StorageManager and not limit us only to ".gzbin" or ".csv". Format code a little. Remove some dead code. Update/correct comments in places. 2005-05-16 19:11 mokhov * TODO: Clean up Preprocessing section a bit and add the MIDI format to the TODO. 2005-05-16 13:36 mokhov * src/marf/Preprocessing/: Preprocessing.java, Dummy/Dummy.java, Endpoint/Endpoint.java, FFTFilter/BandpassFilter.java, FFTFilter/FFTFilter.java, FFTFilter/HighFrequencyBoost.java, FFTFilter/HighPassFilter.java, FFTFilter/LowPassFilter.java: Have the main Preprocessing(Sample) throwing PreprocessingException and propagate it further instead of catching all the exception itself. This clean us some exception handling code in all preprocessing modules. Apply coding conventions mosty to all of the Preprocessing. Add version and author information of all of Preprocessing. Document the code more and correct some outstanding javadoc comments. Expand bulk imports to individual classes. This is preliminay cleanup commit before I begin work on so-called "preprocessing pipeline" that allows chain multiple preprocessing modules, one after another, before the sample gets delivered to the Feature Extraction department. This will make things like High-pass High Frequency Boost preprocessor possible. 2005-05-14 00:43 mokhov * TODO: Add TestLoaders and a few more TODOs for exsiting apps and modules. 2005-05-14 00:33 mokhov * doc/src/tex/: history.tex, intro.tex: Account for dangling history.tex and write up a tad bit more of the history. Add Shuxin to the list of the current maintainers and re-arrange contact information a bit. Write more relevant stuff in the "What is MARF?" section. This begins docs review and preparation for the next 0.3.0-devel release. 2005-05-14 00:31 mokhov * TODO: Update TODO with things done and more TODO :). 2005-05-13 22:20 mokhov * src/Makefile: Correct some obsolete information in the Makefile. Make sure COPYRIGHT is added in all jar builds. Split the warning options into a separate variable and make provision for the unchecked exception for future fixing -- for now we'll have to live with them. 2005-05-13 21:59 mokhov * src/: test.java, marf/Storage/Cluster.java, marf/Storage/Result.java, marf/Storage/ResultSet.java: Clean up the Result code and document it. Make Result Serializable in case we want later dump it to the disk, as TrainingSet, Cluster, ResultSet are already Serializable. Advance the Revision Project to Result, ResultSet, and Cluster. Clean up some comments in Cluster along the way. 2005-05-12 11:40 mokhov * src/: test.java, marf/nlp/Collocations/ChiSquareTest.java, marf/nlp/Collocations/CollocationWindow.java, marf/nlp/Collocations/TTest.java, marf/nlp/Parsing/ClassSymTabEntry.java, marf/nlp/Parsing/CodeGenerator.java, marf/nlp/Parsing/CompilerError.java, marf/nlp/Parsing/FuncSymTabEntry.java, marf/nlp/Parsing/SemanticAnalyzer.java, marf/nlp/Parsing/SemanticError.java, marf/nlp/Parsing/VarSymTabEntry.java, marf/nlp/Stemming/Stemming.java, marf/nlp/Stemming/StemmingEN.java, marf/util/Logger.java: Advance Revision Project so that all .java files get compiled. This is the necessary minimum to do it from make as IDEs get the stuff compiled anyways. Have CompilerError be extension of MARFException to integrated compiler code further. Some cosmetic and javadoc improvements along the way. 2005-05-12 10:05 mokhov * src/: test.java, marf/Stats/Ngram.java, marf/Stats/StatsCollector.java, marf/Stats/StatisticalEstimators/GLI.java, marf/Stats/StatisticalEstimators/KatzBackoff.java, marf/Stats/StatisticalEstimators/MLE.java, marf/Stats/StatisticalEstimators/SLI.java, marf/Stats/StatisticalEstimators/Smoothing/AddDelta.java, marf/Stats/StatisticalEstimators/Smoothing/AddOne.java, marf/Stats/StatisticalEstimators/Smoothing/GoodTuring.java, marf/Stats/StatisticalEstimators/Smoothing/Smoothing.java, marf/Stats/StatisticalEstimators/Smoothing/WittenBell.java, marf/util/comparators/RankComparator.java: Advance the Revision Project further -- add all stats. estimators, StatsCollector, Ngram, and RankComparator. 2005-05-11 10:18 mokhov * src/test.java: Certainly MARF did not exist in 1005, so correct that year and also fix a thinko of mine of throwing the RuntimeException regardless whether COPYRIGHT found or not. 2005-05-10 22:20 mokhov * src/test.java: Make sure we display the basic copyright if the .jar file doesn't have the COPYRIGHT file. 2005-05-10 18:34 mokhov * src/: test.java, marf/nlp/Parsing/Compiler.java, marf/nlp/Parsing/ProbabilisticParser.java, marf/nlp/Parsing/GrammarCompiler/ProbabilisticGrammarCompiler.java: Make sure most of the marf.nlp.Parsing gets compiled with make and add getRevision() API to some of the parsers/compilers along the way. The former is needed for the ProbabilisticParsingApp to work. 2005-05-10 18:11 mokhov * COPYRIGHT: Add our URL. 2005-05-10 18:02 mokhov * src/: Makefile, test.java, marf/Storage/Sample.java, marf/gui/util/BorderPanel.java, marf/gui/util/ColoredStatusPanel.java, marf/gui/util/SmartSizablePanel.java, marf/math/Matrix.java, marf/math/Vector.java, marf/nlp/Parsing/Parser.java, marf/util/BaseThread.java, marf/util/Debug.java, marf/util/ExpandedThreadGroup.java, marf/util/FreeVector.java, marf/util/Matrix.java: Advance the Revision Project. Get rid of all useless code in test.java and add a lot more useful one. This includes a --copyright option, making constants for all options, splitting option-handling functionality into separate methods, and adding getRevision() API to test itself. For copyright, we attempt first extract it from the marf.jar file, if we do not succeed, just display a generic shorter one with the URL to MARF's website. Make sure that the Makfile adds the COPYRIGHT file into the .jar as well. Implement the getRevision() API for all the classes test was referencing before and also marf.math.Matrix. Clean up some comments in some of the visited classes by adding trailing periods, @version and @since tags, TODOs, and a few clarifications. Perform cosmetic clean up otherwise. 2005-05-10 14:12 mokhov * src/test.java: Expand imports. Advanced the Revision Project. Document the code more properly. 2005-05-09 12:42 mokhov * src/marf/Classification/Stochastic/ZipfLaw.java: Clean up imports a little and so the rest of the code. Remove the need for RandomFeaureExtraction, just call super(null) for now. 2005-05-09 12:38 mokhov * src/marf/Classification/Stochastic/MaxProbabilityClassifier.java: Document the code a little. Remove RandomFeatureExtraction kludge. Clean up some imports. Invent the init() API and make sure both constructors call it. 2005-05-09 12:35 mokhov * src/marf/Classification/NeuralNetwork/NeuralNetwork.java: Add a kludge to cope with the 2nd best case as an indetical to the 1st for now. This should prevent ArrayIndexOutOfBoundsExceptions to be thrown around from the neural net. Do a light passage over the code and correcting some comments and style. Light application of coding conventions. 2005-05-09 11:50 mokhov * src/marf/Storage/ResultSet.java: Correct getRandomResult() to always pick from the original oResultSet vector, as no sorting is ever assumed. A similar fix was applied earlier to getRandomID(), but this one escaped, so correct it now. Discovered while running all of the testing.sh where RandomClassification was throwing NullPointerException. 2005-05-08 18:35 mokhov * manifest.mf: Make test.class inside marf.jar runnable as java -jar marf.jar [option] by providing the Class-Path in the manifest file. 2005-05-08 18:19 mokhov * src/marf/util/comparators/ResultComparator.java: Clean up code, imports, and javadoc comments. Document more. 2005-05-08 18:17 mokhov * src/marf/util/SortComparator.java: Clean up imports and javadoc comments. Document more. Add more robust argument processing. 2005-05-08 18:12 mokhov * src/marf/util/Arrays.java: Implement sort(Object[], Comparator) wrapper we were lacking. Clean up imports and javadoc comments. Document more. 2005-05-08 18:10 mokhov * src/marf/Storage/ResultSet.java: Fully fix and implement all the needed functionality of the ResultSet class so SpeakerIdentApp works as before WRT the 2nd best classification. This corrects picking IDs and results from an incorrect unsorted source for mostly minimum and average results (for max it worked fine). More or less finalize the older API and implement some new API as well. Older API changes include: getMin() -> getMininumID(), getSecondMin() -> getSecondMininumID(), getMax() -> getMaximumID(), getSecondMax() -> getSecondMaximumID(), getMinResult() -> getMinimumResult(), getMaxResult() -> getMaximumResult(). The new API includes getAverageID(), getRandomID(), addResult(int, double), getAverageResult(), getRandomResult(), overridden toString() and a-la collections size(). Make use of our own Arrays for sorting. getSecondClosestID() had a bug and was in fact same as getMin()/. It will have to be updated WRT to min/max desired closest result. Clean up dead code. Clean up imports and javadoc comments. Document more. Clean up exception handling and make the code more robust when accepting input arguments. 2005-05-08 17:58 mokhov * src/marf/Classification/Stochastic/: MaxProbabilityClassifier.java, Stochastic.java, ZipfLaw.java: Make MaxProbabilityClassifier and ZipfLaw subclass Stochastic, which seems more logical of an approach a-la Distance-based classifiers. This is continuation of frameworking these two classifiers of the NLP origin into MARF. Make full use of the new ResultSet. Change the default .bin extension to .gzbin for dump files. Implement the getResult() API that picks a maximum (probability) result from the ResultSet. Clean up dead code. Clean up imports and javadoc comments. Clean up exception handling. 2005-05-08 17:51 mokhov * src/marf/Classification/RandomClassification/RandomClassification.java: Make full use of the new ResultSet. Change the default .bin extension to .gzbin for dump files. Implement the getResult() API that picks a random result from the ResultSet. Clean up dead code. Clean up imports and javadoc comments. Clean up exception handling. 2005-05-08 17:39 mokhov * src/marf/Classification/NeuralNetwork/NeuralNetwork.java: Rename the outputEncoding constant to OUTPUT_ENCODING to comply with the coding standards. Implement the new getResult() API to pick the minimum result for now. Will have to be revised. Clean up the code a bit and indentation. Clean up imports and javadoc comments. Clean up exception handling. 2005-05-08 17:34 mokhov * src/marf/Classification/Markov/Markov.java: Make Markov as an extension of Stochastic rather than directly Classification as it seems more of a Stochastic method. Clean up imports and javadoc comments. 2005-05-08 17:24 mokhov * src/marf/Classification/Distance/MahalanobisDistance.java: Clean up javadoc comments and make the debug message more clear. 2005-05-08 17:21 mokhov * src/marf/Classification/Distance/Distance.java: Implement the new getResult() API to always return the minimum-distance result. Clean up some code, javadocs, and imports. 2005-05-08 17:19 mokhov * src/marf/Classification/Classification.java: Get rid of the inner reference to Result entirely, as we are using now the ResultSet class. Make getResult() abstract in order to force the underlying modules to implement it. The reason is that a Result is essentially an ID and an observation. The observation can mean either probability or distance. In the former case we are interested in the maximum result as a classification outcome from the result set, and in the minimum in the latter case. There are other cases as well such as random or average (not used yet, but is there). Change the dump/restore file extension from .bin to .gzbin to reflect the reality. The .bin will be reused for uncompressed binary data. Clean up some code and more javadocs. Clean up some exception handling. 2005-05-08 17:12 mokhov * src/marf/MARF.java: Get rid of internal ResultSet entirely; instead rely on what Classification gives us. This is important now when getting a single result as a concrete Classification module has to decide whether it gives us a maximum (more probable, for Stochastic-based classifiers) probability, minimum distance (for Distance-based classifiers and most others), random (for random classification only), or otherwise. A the MARF's level we can no longer make such a decision. Make MAX_FEATUREEXTRACTION_METHOD, MIN_FEATUREEXTRACTION_METHOD, MAX_CLASSIFICATION_METHOD, and MIN_CLASSIFICATION_METHOD public in case someone needs them like I did earlier for preprocessing methods. Clean up more javadocs. 2005-05-08 01:05 mokhov * src/test.java: Was too fast with the previous commit. Add usage() and correct a few errors. Now it all works, soon all the useless code can be removed as soon as all the classes implement getRevision() and get added here. 2005-05-07 20:23 mokhov * src/: test.java, marf/MARF.java, marf/Classification/Classification.java, marf/Classification/ClassificationException.java, marf/Classification/Distance/ChebyshevDistance.java, marf/Classification/Distance/Distance.java, marf/Classification/Distance/EuclideanDistance.java, marf/Classification/Distance/MahalanobisDistance.java, marf/Classification/Distance/MinkowskiDistance.java, marf/Classification/Markov/Markov.java, marf/Classification/NeuralNetwork/NeuralNetwork.java, marf/Classification/NeuralNetwork/Neuron.java, marf/Classification/RandomClassification/RandomClassification.java, marf/Classification/Stochastic/MaxProbabilityClassifier.java, marf/Classification/Stochastic/Stochastic.java, marf/Classification/Stochastic/ZipfLaw.java, marf/util/OptionProcessor.java: Begin a so-called "Revision Project". In it, make test.java even more useful by outputting MARF's classes' revision information in the --verbose mode. Make full use of OptionProcessor there and accept options such as --help/-h, --version (was there previously) and --verbose. Add trial attempts of the getRevision() method to all Classification classes, later will expand to all. Massage more code and comments otherwise and remove trailing blanks. 2005-05-04 18:24 mokhov * src/marf/Classification/: Classification.java, ClassificationException.java, Distance/ChebyshevDistance.java, Distance/Distance.java, NeuralNetwork/NeuralNetwork.java, RandomClassification/RandomClassification.java, Stochastic/MaxProbabilityClassifier.java: Begin using ResultSet instead of Result in all Classification modules. I preserved most of the older API except for Result.getSecondClosestID() via the ResultSet object. getSecondClosestID() is also now defined in ResultSet -- a collection of results. This code compiles well, but is *very* experimental and a thorough testing is required. There is still some dead leftover code that will be cleaned up during testing. This is an incompatible change. Change protection status of iDumpMode in Classification to protected so the derivatives can play with it if the need to. Start integrating MaxProbabilityClassifier under the Classification framework. Document it a little and disactive obsolete code. LangIdentApp still compiles. Add two MARFException-inherited constructors to ClassificationException, so it can take Exception object as an argument. Clean up imports in places. Fix some javadoc comments in some related code. 2005-05-04 18:10 mokhov * src/marf/MARF.java: Begin using ResultSet instead of Result in MARF, which is a lot better and flexible way managing multiple results and specifically 2nd best. Preserve some of the older API of getting the best result out of the set and add new getResultSet() call. Update other methods that used Result member to use ResultSet. As a result remove the soResult member (actually replace it with soResultSet). This is fundamental and incompatible change, hoepfully for the better. Lift private restrictions on constants MAX_PREPROCESSING_METHOD and MIN_PREPROCESSING_METHOD in case someone externally wants to use them. Massage javadoc comments according to the above changes as well as some minor editorialization. 2005-05-03 11:23 mokhov * doc/src/tex/: apps.tex, test-fft.tex: Remove RTF junk from test-filters.tex. Run dos2unix on it. Wrap long lines. Perform maginal editorialization. Add test-fft.tex to the report build. 2005-05-02 23:59 susan_fan * doc/src/tex/test-fft.tex: Add initial cut on the TestFFt app document. 2005-05-02 18:32 mokhov * doc/src/tex/test-lpc.tex: Complete a short description of TestLPC. 2005-05-02 18:08 mokhov * src/marf/Classification/Classification.java: Clean up imports and comments. Lift the 'private final' restriction on the getTrainingSetFilename() method and make it available for the derivatives to override if they need to. Will need to add ResultSet to the classification instead of Result, but this is a major change and requires some thought. 2005-05-02 17:42 mokhov * src/marf/FeatureExtraction/FeatureExtraction.java: Cleanup/correct comments and imports. 2005-05-02 17:35 mokhov * src/marf/Preprocessing/Preprocessing.java: Clean up/correct comments, imports, and the use of NotImplementedException. 2005-05-01 02:21 mokhov * src/marf/Storage/: SampleLoader.java, Loaders/MP3Loader.java, Loaders/SineLoader.java, Loaders/ULAWLoader.java, Loaders/WAVLoader.java: Update SampleLoader API to throw our own StorageException, just like StorageManager does it, instead of Exception. Update imports and correct/update comments along the way. Apply coding conventions. 2005-05-01 02:19 mokhov * src/Makefile: Include test.class into the .jar file. 2005-04-30 19:23 mokhov * src/marf/util/OptionProcessor.java: Greatly enhance the robustness and friendliness of the OptionProcessor. Make the OptionProcessor(Hashtable) not take its argument if its null -- we don't want to deal too much with NullPointerExceptions all over. In addActiveOption() make sure the added option also becomes valid, as a set of all all active options should be a proper subset of the valid options. Improve getOption() to cope with the situations when the requested option is either invalid, valid but not active, or simply isn't there. Add a hint to the exceptions thrown in these two latter cases. Add toString() API to report the inner state of the OptionProcessor object instnace for debugging. Correct obsolete/incorrect comments. Comply with coding conventions. 2005-04-29 01:20 mokhov * doc/src/tex/data.tex: Fix a few ancient spelling and English mistakes. Add revision information. 2005-04-29 00:13 mokhov * doc/src/tex/apps.tex: Fix a typo in the comment. 2005-04-29 00:06 mokhov * doc/src/tex/: apps.tex, test-filters.tex: Complete first round of editorializing of the TestFilters section and make it compile. 2005-04-28 14:14 mokhov * src/marf/util/ExpandedThreadGroup.java: Some cosmetic clean up of trailing blanks. 2005-04-28 14:11 mokhov * src/marf/util/BaseThread.java: Add two more contructors to logically complement similar ones for ThreadGroup. The new constructors BaseThread(ExpandedThreadGroup, Runnable) and BaseThread(ExpandedThreadGroup, Runnable, String) add similat functionality with ExpandedThreadGroup. The Runnable target was needed by the GIPSY, so I added these constructors for completness. 2005-04-28 09:31 mokhov * doc/src/styles/styles.tex: Add a few more usful commands ported from my thesis. 2005-04-28 09:30 mokhov * doc/src/tex/: apps.tex, test-filters.tex: Begin converting TestFilter's description to LaTeX (not done yet, but don't want to hold at home). Include the section into the Applications chapter. Add revision. 2005-04-28 00:00 susan_fan * doc/src/tex/test-filters.tex: Add initial cut on the TestFilters app documentation 2005-04-27 08:52 mokhov * doc/src/tex/: apps.tex, report.tex, test-lpc.tex: Add a yet-mini Applications Chapter. Will elaborate as we go. When my NLP apps are in, they will add a lot of info in the manual. 2005-04-24 22:28 mokhov * src/marf/util/Logger.java: Add a Logger utility, borrowed from ChatIN. Logger can be a thread or just an object and allows redirection of STDIN, STDOUT, and STDERR in a variety of ways, including to the file and has a timestamp. 2005-04-24 22:26 mokhov * src/marf/util/ExpandedThreadGroup.java: Correct coding style and documentation of enumerate(). 2005-04-24 17:33 mokhov * src/marf/nlp/Parsing/: ClassSymTabEntry.java, CodeGenerator.java, Compiler.java, CompilerError.java, FuncSymTabEntry.java, GenericLexicalAnalyzer.java, LexicalAnalyzer.java, LexicalError.java, Parser.java, ProbabilisticParser.java, SemanticError.java, SymDataType.java, SymTabEntry.java, SymbolTable.java, SyntaxError.java, Token.java, TokenSubType.java, TokenType.java, TransitionTable.java, VarSymTabEntry.java, GrammarCompiler/Grammar.java, GrammarCompiler/GrammarAnalyzer.java, GrammarCompiler/GrammarCompiler.java, GrammarCompiler/GrammarElement.java, GrammarCompiler/GrammarTokenType.java, GrammarCompiler/NonTerminal.java, GrammarCompiler/ProbabilisticGrammarTokenType.java, GrammarCompiler/ProbabilisticRule.java, GrammarCompiler/Rule.java, GrammarCompiler/SemanticToken.java: Make a light passage passage over javadoc comments in nlp.Parsing.* by correcting some English and adding trailing periods and removing incorrect javadocs. This alone should eliminate a lot of javadoc warning when generating API reference pages. At some point I will *REALLY* need to revisit all this compiler code and refactor it. 2005-04-24 17:01 mokhov * src/marf/gui/util/BorderPanel.java: Apply coding conventions. Document the class. Make sure the border is created in all cases. Treat null border title as empty string. 2005-04-24 16:45 mokhov * src/marf/util/BaseThread.java: Add a constructor that accepts just a name as an argument. Proved to be useful in GIPSY. 2005-04-23 18:17 mokhov * src/marf/Storage/Loaders/: MP3Loader.java, SineLoader.java, ULAWLoader.java: In SineLoader make writeAudioData() more robust and resistant to an invalid input. Improve javadoc comments and put trailing periods where necessary as javadoc requires. 2005-04-20 00:22 mokhov * src/marf/Storage/Sample.java: Make sure we can still compile with Java 1.4. 2005-04-16 18:53 mokhov * src/marf/Storage/Loaders/SineLoader.java: Correct wrong comment. 2005-04-16 18:49 mokhov * src/marf/Storage/Loaders/SineLoader.java: Make sure we don't choke on non-existent files by overriding some assumptions made by the SampleLoader when having a filename as an argument. 2005-04-16 17:48 mokhov * src/marf/: MARF.java, Storage/Sample.java, Storage/SampleLoader.java, Storage/Loaders/SineLoader.java, Storage/Loaders/WAVLoader.java: Implement a testing dummy "loader" that simply loads a sine wave into a sample. Since the sine wave was popularly used by our apps, it's seems like a worthy test module that complies with the SampleLoader interface. Now, all the apps should be using this for test waves. The addition prompted to do some review of the related code in other classes and correct javadoc comments and API. Sample class got new setSampleSize() call and some of the WAVLoader's constants were pushed up to the SampleLoader class as they are used now also by the SineLoader. Make more code compliant with the coding conventions. 2005-04-03 19:48 mokhov * doc/src/tex/report.bib: Synch Bibliography with my master copy. Re-arrange GIPSY stuff, add Dijkstra and other references. 2005-04-03 01:44 mokhov * src/marf/MARF.java: Was too quick with the previous commit and omitted a few unchanged places with variable renaming. Fix that and also replace Header with Id, Revision, and Date. 2005-04-03 01:41 mokhov * src/marf/MARF.java: Fix a bug when setting any other preprocessing method than Dummy (normalization) would throw an exception. It was there for quite some time and I noticed it just now when running SpeakerIdentApp against 0.3.0-devel-20040614... Too bad such an obvious error's gone there untested :-(. Need to make another -devel release soon enough with this correction. Also, while there correct javadoc comments so javadoc emits less warnings about missing "." for the first sentence. Additionally, apply coding conventions to all class variables. 2005-04-02 19:43 mokhov * src/marf/Classification/NeuralNetwork/Neuron.java: Lay down a path towards Neuron being a thread to maximaze parallel evaluation of the network when possible. This commit just adds stubs and imports and corrects javadocs. 2005-04-02 16:33 mokhov * src/marf/gui/util/: BorderPanel.java, ColoredStatusPanel.java, SmartSizablePanel.java: Massage gui.util code as it's being used in some outside apps. Add all parent's constructors to BorderPanel as some apps require it. Will need to do more corrections and code-fixing as well as documentation in the very near future. 2005-04-02 16:30 mokhov * manifest.mf: Add some Bundle-* headers with Eclipse. 2005-03-27 02:16 mokhov * doc/src/tex/legal.tex: Update years. 2005-03-24 01:23 mokhov * Makefile, manifest.mf, src/Makefile: Improve the Build System by including the NetBeans project files into the distro and use our new manifest.mf file in the Makefile build. Fill in some meaningful contents in the manifest. 2005-03-23 23:12 mokhov * src/test.java: Make sure the dummy code never actually executes for nothing. 2005-03-21 15:10 susan_fan * build.xml, manifest.mf, nbproject/genfiles.properties, nbproject/project.properties, nbproject/project.xml: Add NetBeans project files to the Build System 2005-03-21 03:19 mokhov * src/marf/util/NotImplementedException.java: Add a constructor that takes object and method name and derives message from it. Fix javadocs. This is essentially a sync with GIPSY sources, which got this class of mine derived. 2005-03-20 20:59 mokhov * src/marf/util/BaseThread.java: Add forgotten trailing period. 2005-03-20 20:56 mokhov * src/marf/util/OptionProcessor.java: Document OptionProcessor. Clean up imports. 2005-03-20 20:36 mokhov * src/marf/util/: BaseThread.java, ExpandedThreadGroup.java: Complete/fix javadoc comments in ExpandedThreadGroup. Add $Id: ChangeLog,v 1.3 2005/07/30 22:56:59 mokhov Exp $ in BaseThread. 2005-03-20 20:20 mokhov * src/marf/util/BaseThread.java: Fix/complete javadoc documentation of BaseThread. 2005-03-20 19:58 mokhov * src/marf/util/FreeVector.java: Document all of the FreeVector with javadocs. Add all parent's constructors. Fix a few typos. Add TODOs. 2005-03-20 12:46 mokhov * TODO: Expand THE APPS section of TODO inspired by recent conversation with Shuxin. 2005-03-17 01:39 mokhov * src/Makefile: Make sure javadoc picks up marf.util.comparators and marf.Stats.SatisicalEstimators. Make sure the distro dir exists in sub-make. 2005-03-16 19:54 mokhov * src/marf/: Classification/Stochastic/MaxProbabilityClassifier.java, Classification/Stochastic/ZipfLaw.java, Stats/Ngram.java, Stats/ProbabilityTable.java, Stats/WordStats.java, Stats/StatisticalEstimators/GLI.java, Stats/StatisticalEstimators/KatzBackoff.java, Stats/StatisticalEstimators/MLE.java, Stats/StatisticalEstimators/SLI.java, Stats/StatisticalEstimators/StatisticalEstimator.java, Stats/StatisticalEstimators/Smoothing/AddDelta.java, Stats/StatisticalEstimators/Smoothing/GoodTuring.java, Stats/StatisticalEstimators/Smoothing/Smoothing.java, Stats/StatisticalEstimators/Smoothing/WittenBell.java, Storage/ResultSet.java, util/comparators/FrequencyComparator.java, util/comparators/RankComparator.java, util/comparators/ResultComparator.java: Complete basic source code integration of NLP-related/induced changes. This commit corrects remaining compile issues after the SF staff imported Take II of the ex-NLP sources. All of the references to MARF, Arrays, Stats.*.*, StorageException and some unimplemented chunks have been adjusted. MARF now compiles entirely again. Now we can start working on cleaning up the integrated code, documenting and testing. Then, prepare and integrate the NLP-related apps, but first make sure thant nothing that worked before broke. Remove unused imports and add some more javadocs. 2005-03-15 02:02 mokhov * doc/src/tex/report.bib: Sync Bibliography with my master one. Add MARF itself :-) and a few other refs. 2005-03-14 13:39 mokhov * src/marf/: Classification/Distance/Distance.java, Classification/Stochastic/Stochastic.java, FeatureExtraction/LPC/LPC.java, nlp/Parsing/ClassSymTabEntry.java, nlp/Parsing/FuncSymTabEntry.java, nlp/Parsing/LexicalAnalyzer.java, nlp/Parsing/SymbolTable.java, nlp/Parsing/Token.java, nlp/Parsing/GrammarCompiler/GrammarAnalyzer.java, nlp/Parsing/GrammarCompiler/GrammarCompiler.java, nlp/Parsing/GrammarCompiler/ProbabilisticGrammarCompiler.java, nlp/Parsing/GrammarCompiler/Terminal.java: Fix one more undetected compile error in ProbabilisticGrammarCompiler related to recent StorageManager changes, i.e. dump() and StorageException propagation. Clean up a pack of unused imports. Clean up many places in nlp.Parsing that used instance variable to access static members. 2005-03-13 15:32 mokhov * src/marf/nlp/Parsing/GrammarCompiler/ProbabilisticGrammarAnalyzer.java: Access static members using class name instead of instance name, per Java's recommendation. 2005-03-13 15:29 mokhov * src/marf/: Classification/Classification.java, nlp/Parsing/Compiler.java, nlp/Parsing/ProbabilisticParser.java, nlp/Parsing/GrammarCompiler/ProbabilisticGrammarAnalyzer.java, nlp/Stemming/StemmingEN.java, util/Matrix.java: Fix more Debug- and NLP-integration-related errors, reported by Eclipse. Also fix a bit more more javadocs. All the other errors are to be resolved when SF staff puts the pertinent files directly to the repository. 2005-03-13 00:15 mokhov * src/test.java: Make sure OptionProcessor builds. Will need to actually make use of it in test. 2005-03-12 22:44 mokhov * src/marf/: Classification/Classification.java, Classification/Distance/Distance.java, Classification/Markov/Markov.java, Classification/NeuralNetwork/NeuralNetwork.java, Classification/NeuralNetwork/Neuron.java, Classification/RandomClassification/RandomClassification.java, Classification/Stochastic/Stochastic.java, FeatureExtraction/FeatureExtraction.java, FeatureExtraction/Cepstral/Cepstral.java, FeatureExtraction/F0/F0.java, FeatureExtraction/FFT/FFT.java, FeatureExtraction/LPC/LPC.java, FeatureExtraction/RandomFeatureExtraction/RandomFeatureExtraction.java, FeatureExtraction/Segmentation/Segmentation.java, Preprocessing/Preprocessing.java, Preprocessing/Dummy/Dummy.java, Preprocessing/Endpoint/Endpoint.java, Preprocessing/FFTFilter/HighFrequencyBoost.java, Preprocessing/FFTFilter/HighPassFilter.java, Storage/Result.java, Storage/StorageException.java, Storage/StorageManager.java, Storage/TrainingSet.java, gui/Spectrogram.java, gui/WaveGrapher.java, nlp/Parsing/GrammarCompiler/GrammarCompiler.java, util/MARFException.java: Peform major rewrite of Storage-related business. A IStorageManager is the interface now, and StorageManager its most common implementation all concrete storage managers must obey. In passing fix some javadocs and oldes DOS EOLs. This is Phase II of the NLP integration. Fix a few errors in the compiler related to static vars that prevented it from compilations as reported by Shuxin. Only part remains, is to physically add to the repository missing part of the integration. This includes the IStorageManager, ResultSet, Stats classes (including StatisticalEstimators), some Classification.Stochastic. This will be done through SF, in Phase III of NLP integration. Then follow the apps. Current fresh checkout will be broken, but the stuff compiles locally here (though not all the modules tested). 2005-03-12 20:30 mokhov * src/marf/Classification/Stochastic/MaxProbabilityClassifier.java: Advance towards integration with MARF. 2005-03-12 19:53 mokhov * src/marf/: Classification/Stochastic/ZipfLaw.java, Stats/Observation.java, Stats/WordStats.java, Stats/StatisticalEstimators/Smoothing/GoodTuring.java, Stats/StatisticalEstimators/Smoothing/WittenBell.java, util/comparators/FrequencyComparator.java: Take final decision on placement of WordStats, Observation, and Ngram under marf.Stats. 2005-03-12 19:30 mokhov * src/marf/Stats/ProbabilityTable.java: Move ProbabilityTable to Stats. 2005-03-12 19:04 mokhov * src/marf/: Stats/ProbabilityTable.java, Storage/ResultSet.java: Apply more missed integration word. Nearly ready. 2005-03-12 18:59 mokhov * src/marf/util/comparators/: FrequencyComparator.java, RankComparator.java, ResultComparator.java: Apply final decision that specific sort comparators move to marf.util.comparators. 2005-03-12 18:51 mokhov * src/marf/Stats/StatisticalEstimators/: GLI.java, KatzBackoff.java, MLE.java, SLI.java, StatisticalEstimator.java, Smoothing/AddDelta.java, Smoothing/AddOne.java, Smoothing/GoodTuring.java: Apply final decision that StatisticalEstimators move under Stats. 2005-03-12 18:47 mokhov * src/marf/Stats/StatisticalEstimators/: GLI.java, KatzBackoff.java, MLE.java, SLI.java, StatisticalEstimator.java, Smoothing/AddDelta.java, Smoothing/AddOne.java, Smoothing/GoodTuring.java, Smoothing/Smoothing.java, Smoothing/WittenBell.java: Advance integration of SatisticalEstimators with MARF. 2005-03-12 18:09 mokhov * src/marf/: Stats/StatisticalObject.java, util/comparators/FrequencyComparator.java, util/comparators/RankComparator.java, util/comparators/ResultComparator.java: Advance closer to MARF integration package-wise. The comparator gang should probably move to util or elsewhere, but they don't belong to Stats. The StatisticalObject should obviously remain in Stats. 2005-03-12 17:58 mokhov * src/marf/: Stats/Ngram.java, Stats/Observation.java, Stats/ProbabilityTable.java, Stats/WordStats.java, Storage/ResultSet.java: Advance adaptation to MARF. Not final yet. 2005-03-12 14:46 mokhov * src/: test.java, marf/nlp/Parsing/LexicalAnalyzer.java, marf/nlp/Parsing/Parser.java, marf/nlp/Parsing/TransitionTable.java, marf/nlp/Parsing/GrammarCompiler/GrammarAnalyzer.java, marf/nlp/Parsing/GrammarCompiler/GrammarCompiler.java: Make sure the Debug-related code in Parser, LexicalAnalyzer, TransitionTable, GrammarAnalyzer, and GrammarCompiler compiles, per gripe from Shuxin. Update some outdated/incorrect javadoc comments and make them more standard-compliant. 2005-03-02 00:12 mokhov * src/marf/nlp/Stemming/Stemming.java: Class defining an abstract method should be abstract. Per report from Shuxin. 2005-03-01 09:16 mokhov * src/marf/Storage/Result.java: Begin integration of MARF and NLP Storage. 2005-03-01 09:14 mokhov * src/marf/Storage/: IStorageManager.java, ResultSet.java: On the road of integration of NLP and MARF's Storage. Preliminary touch ups. 2005-02-27 13:43 mokhov * src/: test.java, marf/util/Debug.java: Take care of the variable rename fully obeying coding conventions. Make sure Debug is compilable :), per gripe from Shuxin. 2005-02-27 13:29 mokhov * src/marf/nlp/Parsing/: Compiler.java, LexicalAnalyzer.java, Parser.java, ProbabilisticParser.java, TransitionTable.java, GrammarCompiler/GrammarAnalyzer.java, GrammarCompiler/GrammarCompiler.java, GrammarCompiler/ProbabilisticGrammarAnalyzer.java: Rename all CPMCDebug to Debug, per report from Shuxin. One will have to add missing import marf.util.Debug where appropriate. 2005-02-27 13:18 mokhov * src/: test.java, marf/util/FreeVector.java: Make sure FreeVector and marf.util.Matrix compile. Fix another round of copy-paste and other mistakes. Per report from Shuxin. 2005-02-27 13:07 mokhov * src/marf/nlp/Stemming/Stemming.java: Abstract and final modifiers are not allowed together. Fix another piece of a yet-dead code. I really need to add makefiles all over to make sure they get to compile all classes and this sort of errors do not reccur :( Per report from Shuxin. 2005-02-26 19:59 mokhov * doc/src/tex/: intro.tex, notation.tex, results.tex, sources.tex: Fix two spelling mistakes, per report from Shuxin. Also spell out Intro as Introduction to be a bit more formal. Add \index{} entries to the introductory material. Also fix/add revision information in the scope where it was missing/incorrect. Fix the tild in the formatting section to appear in the document (as it was not properly escaped). 2005-02-26 15:47 mokhov * doc/src/tex/report.bib: Sync with my master bibliography. 2005-02-25 16:06 mokhov * src/marf/nlp/: Collocations/ChiSquareTest.java, Parsing/SemanticAnalyzer.java, Stemming/StemmingEN.java: Fix a few more apparent bogus places in the newly imported code that were not caught earlier -- typos and mispellings in the class names not corresponding to the file names and vice versa. Strangely enough we only see them now. 2005-02-25 15:56 mokhov * src/marf/util/FreeVector.java: Fix bogus parameter propagation. We really need tests for this and Matrix class to make sure the code works. 2005-02-25 15:50 mokhov * src/marf/util/: FreeVector.java, Matrix.java: Fix a couple of idiocracies in the apparently broken code :( 2005-02-25 15:25 mokhov * src/Makefile: GrammarCompiler is under nlp.Parsing, not nlp. 2005-02-25 15:23 mokhov * src/Makefile: Uh, nlp/ itself doesn't have any .java files, so javadoc fails. 2005-02-25 14:56 mokhov * src/Makefile: Add nlp/* to MARFDIRS so javadoc can find new stuff. Keep test.class in marf*.jar files in distro, so there is somthing runnable and the apps can use it to test the version. Fix copyright year. 2005-02-23 20:40 mokhov * doc/src/tex/: Makefile, report.tex: Remove draft mode in the report. Update coopyright year in the makefile. 2005-02-23 14:01 mokhov * TODO: Update TODO WRT NLP and the Build System. 2005-02-23 13:00 mokhov * src/marf/MARF.java: Extract enumerations of N-gram models and Statistical Estimators into separate interfaces. This is an alpha API which is a huge subject to change as the rest of the NLP stuff gets imported. 2005-02-22 20:01 mokhov * src/marf/Storage/IStorageManager.java: Rename StorageManagerInterface to IStorageManager per coding conventions. 2005-02-22 18:58 mokhov * src/marf/MARF.java: Begin integration of my NLP sources into MARF. This particular change makes the used-to-be stanalone NLP.java file a part of the MARF.java as an inner class, so everything is brokered through MARF now. There won't bee too many commits related to the NLP integration as some CVS files (,v) with their existing histories will be directly added to the repository. 2005-02-22 18:54 mokhov * TODO: Add legend about what TODO entries mean. Clarify or expand some of the TODOs (very few) after a long time not being updated. 2005-02-22 17:35 mokhov * src/marf/nlp/Parsing/: ClassSymTabEntry.java, CodeGenerator.java, Compiler.java, CompilerError.java, FuncSymTabEntry.java, GenericLexicalAnalyzer.java, LexicalAnalyzer.java, LexicalError.java, Parser.java, ProbabilisticParser.java, SemanticAnalyzer.java, SemanticError.java, SymDataType.java, SymTabEntry.java, SymbolTable.java, SyntaxError.java, Token.java, TokenSubType.java, TokenType.java, TransitionTable.java, VarSymTabEntry.java, GrammarCompiler/Grammar.java, GrammarCompiler/GrammarAnalyzer.java, GrammarCompiler/GrammarCompiler.java, GrammarCompiler/GrammarElement.java, GrammarCompiler/GrammarTokenType.java, GrammarCompiler/NonTerminal.java, GrammarCompiler/ProbabilisticGrammarAnalyzer.java, GrammarCompiler/ProbabilisticGrammarCompiler.java, GrammarCompiler/ProbabilisticGrammarTokenType.java, GrammarCompiler/ProbabilisticRule.java, GrammarCompiler/Rule.java, GrammarCompiler/SemanticToken.java, GrammarCompiler/Terminal.java: Fix package names to include the compiler code under MARF. This this needed for Natural Language parsing to work. Remove DOS EOLs from some files. 2005-02-22 16:42 mokhov * src/marf/nlp/util/NLPStreamTokenizer.java: Update package info for integration into MARF. 2005-02-22 16:41 mokhov * src/marf/nlp/Stemming/: Stemming.java, StemmingEN.java: Update package names for integration into MARF. 2005-02-22 16:40 mokhov * src/marf/nlp/Collocations/: ChiSquareTest.java, CollocationWindow.java, TTest.java: Change package to marf.nlp.Collocations for integration. 2005-02-22 16:35 mokhov * src/marf/util/: Debug.java, FreeVector.java, Matrix.java, OptionProcessor.java, SortComparator.java: Update the package to be marf.util for integration. 2005-02-15 04:32 mokhov * doc/src/tex/report.bib: bibtext doesn't seem to like @ inside a comment in the .bib file. 2005-02-10 13:59 mokhov * Makefile: Enhance maintainer-clean target, so it really cleans all of it. 2005-02-10 13:14 mokhov * COPYRIGHT, Makefile: Update copyright year. 2005-01-25 02:25 mokhov * doc/src/tex/report.bib: Update bibliography with my new items from 3D advanced rendering and animation. 2004-11-18 02:50 mokhov * Makefile: Make sure the bin/ dir is removed with maintainer-clean. The dir is created by Eclipse or JBuilder. 2004-10-31 23:55 mokhov * doc/src/tex/Makefile: Add .bbl and .blg extensions of files to be removed in maintainer-clean mode. Apparently, these were long-time missed out. 2004-10-31 23:47 mokhov * src/Makefile: Since we dropped 1.3.* support, remove kludgery associated with extension dirs for JAXP (that's built-in in JDK 1.4 +). 2004-10-31 23:46 mokhov * src/test.java: Add SmartSizablePanel and ColoredStatusPanel instances to test whether they can compile in MARF. 2004-10-31 23:42 mokhov * src/marf/gui/util/SmartSizablePanel.java: Forgot a semicolon in package name. 2004-10-31 23:35 mokhov * src/marf/gui/util/: ColoredStatusPanel.java, SmartSizablePanel.java: Add SmartSizablePanel and ColoredStatusPanel GUI utility classes off my GWCC project of year 2000... Will need to adjust them according today's standards. Remove DOS EOLs. 2004-08-06 17:30 mokhov * src/marf/util/Arrays.java: Add some comments and TODO items while at it. 2004-08-06 17:17 mokhov * src/marf/util/ByteUtils.java: Document existings methods. 2004-08-05 17:26 mokhov * src/marf/: MARF.java, Storage/TrainingSet.java, util/ByteUtils.java: Add a couple more functionw to ByteUtils to convert an int to byte[] and a String to byte[]. Clean up a bit a couple TODO items elsewhere. 2004-08-03 23:30 mokhov * src/marf/Storage/StorageManager.java: Add _SQL and _HTML options we might consider implementing one day. 2004-08-03 23:29 mokhov * src/marf/Storage/Result.java: Fix error handling using Java way with exceptions. 2004-06-16 20:42 mokhov * Makefile, TODO, marf.spec: Add initial, untested version of the RPM .spec file. 2004-06-13 13:11 mokhov * Makefile: Bump copyright to 2004. 2004-06-10 19:13 mokhov * src/marf/: Storage/Loaders/WAVLoader.java, util/ByteUtils.java: Add ByteUtils to convert some common data types (such as String, int, and short for the time being) from a raw array of bytes. Make use of one of these routines in WAVLoader.java. Others are used elsewhere and might become useful for MARF when I get around to add NLP stuff. Clean up WAVLoader a bit along the way. 2004-06-10 14:26 mokhov * src/test.java: Make sure we can test for BaseThread and ExpandedThreadGroup as well as for BorderPanel. This insuress addition of the corresoponding .class files to the tarball. This may also fix the javadoc issues for those classes not appearing in the API spec. 2004-06-10 13:34 mokhov * src/Makefile: Re-add marf/util to the dirs omitted by mistake. Add marf/gui/util. 2004-06-10 01:23 mokhov * README: Document more contents of this dir. Reformat README a little. 2004-06-06 10:35 mokhov * TODO: Light passage over TODO. 2004-05-30 02:40 mokhov * doc/src/tex/: conclusions.tex, fft-filter.tex, intro.tex, nnet.tex, report.bib: Update the Bibliography from my common source. Add \cite's along the way for all preious entries to re-appear. 2004-05-24 20:44 mokhov * doc/src/tex/: Makefile, references.tex, report.bib: Build Bibliography properly. Merge it with my global one. Need to reference more our past bibitems in the text for them to re-appear in the Bibliography section. This addition will allow to use any bibitems in the future as we see fit, the unused ones won't show up. This will also ease up Bibliography maintenance. 2004-05-24 19:52 mokhov * src/marf/math/Matrix.java: Commit uncommitted comments. 2004-05-21 01:12 mokhov * TODO: Put a blank. 2004-05-03 18:14 mokhov * src/: test.java, marf/MARF.java, marf/util/Arrays.java: Document a bit more Arrays.java. Add boundaries check for the valid range of preprocessing, feature extraction, and classification methods. 2004-05-03 17:18 mokhov * src/marf/MARF.java: Add synonyms or aliases for Chebyshev distance for those who are used to other frequently-used names of the same concept. 2004-04-28 15:08 mokhov * src/marf/gui/util/BorderPanel.java: Add some initial code for the gui.util package. 2004-04-21 15:57 mokhov * src/marf/util/: BaseThread.java, ExpandedThreadGroup.java: Test and make them actually work. Needed an extra Vector to hold references to the added threads to be able to start() them within a group, else ThreadGroup.enumerate(threads[]) would return 0 enumerted threads if none has started yet :-(, so we take 'em from the vector. This couples a bit BaseThread and ExpandedThreadGroup, but makes ExpandedThreadGroup more like a group. Add a few more constructors to the BaseThread mimicking those of Thread a long the way since these may be useful, but constructors are not inherited. Need to polish a bit more and add a few extra comments still. 2004-04-21 13:37 mokhov * src/marf/util/BaseThread.java: Add a few extra accessors and make siNextTID protected rather than public. Modify the BaseThread(piTID) constructor to reset the sequencing of the follow up TIDs based on piTID. This is *not* a backwards-incompatible change *unless* one always relies on TIDs start from 1 regardless whatever piTID is. 2004-04-20 14:49 mokhov * Makefile, src/Makefile: Add dev. version. Will release more often that way. 2004-04-20 13:58 mokhov * src/marf/util/: BaseThread.java, ExpandedThreadGroup.java: Add thread utility classes, as extension of Thread and ThreadGroup of java.lang. Planned to be used in GUI and some algos that are naturally parallel (eg. NeuralNetwork and actually most of them). 2004-04-20 12:38 mokhov * src/marf/: MARF.java, Classification/Classification.java, Classification/Distance/ChebyshevDistance.java, Classification/Distance/EuclideanDistance.java, Classification/Distance/MinkowskiDistance.java, Classification/Markov/Markov.java, Classification/NeuralNetwork/NeuralNetwork.java, Classification/RandomClassification/RandomClassification.java, Classification/Stochastic/Stochastic.java, FeatureExtraction/FeatureExtraction.java, FeatureExtraction/Cepstral/Cepstral.java, FeatureExtraction/F0/F0.java, FeatureExtraction/FFT/FFT.java, FeatureExtraction/RandomFeatureExtraction/RandomFeatureExtraction.java, FeatureExtraction/Segmentation/Segmentation.java, Preprocessing/Dummy/Dummy.java, Preprocessing/Endpoint/Endpoint.java, Preprocessing/FFTFilter/BandpassFilter.java, Storage/FeatureSet.java, Storage/Sample.java, Storage/StorageManager.java, Storage/TrainingSet.java, gui/WaveGrapher.java, math/Matrix.java: Perform some clean up: rid of unused imports, add @author in places, split some long lines with throws in them. Fix a bug in TrainingSet: setPreprocessingMethod() was setting the member variable to itself. 2004-04-20 12:09 mokhov * .classpath, .project: Add Eclipse project files. 2003-12-13 13:25 mokhov * src/marf/math/Matrix.java: Next round of revision. Mostly comments. 2003-09-01 16:07 mokhov * src/marf/math/Matrix.java: Implement isNearlyIdentity() methods of Matrix to be able to cope with the situations when matrices are almost identity but not exactly due to errors with floating-point arithmetic. 2003-08-31 22:20 mokhov * src/marf/math/Matrix.java: Put loadRow() back in since Arrays' copy() is now working. 2003-08-31 11:58 mokhov * src/marf/math/: Matrix.java, Vector.java: Apply coding style guide. Clean up and document the code a little. Disallow operators returning a new matrix object when multiplying or dividing a matrix by a constant. Those who need a copy, clone() it before hand. Not sure whether that should still apply to matrix muplitplication, addition, substracion with another matrix... 2003-08-31 01:35 mokhov * src/marf/: MARF.java, math/Matrix.java: Since super.clone() does a shallow copy of the object we don't want that, so perform our own clone() implementation with 'deep' cloning. This was a cause of a subtle bug making transpose() not working (matrix was becoming symmetrical simply because we operated on the same exact object). 2003-08-27 21:54 mokhov * src/marf/math/Matrix.java: Avoid extra method calls. 2003-08-27 21:47 mokhov * src/marf/: math/Matrix.java, util/Arrays.java: Fix Array's copy() and improve it's performance a bit. Matrix source code improvements for testing. 2003-08-27 18:47 mokhov * src/marf/math/Matrix.java: Add operation of division of a matrix by a scalar. 2003-08-27 18:29 mokhov * src/marf/Classification/: Classification.java, Distance/MahalanobisDistance.java: Cosmetix fixes. Review before begin the implementation of tra