//----------------------------------------------------------------------------//
// //
// G r a d e s //
// //
//----------------------------------------------------------------------------//
// <editor-fold defaultstate="collapsed" desc="hdr"> //
// Copyright © Hervé Bitteur and others 2000-2013. All rights reserved. //
// This software is released under the GNU General Public License. //
// Goto http://kenai.com/projects/audiveris to report bugs or suggestions. //
//----------------------------------------------------------------------------//
// </editor-fold>
package omr.glyph;
import omr.constant.ConstantSet;
/**
* Class {@code Grades} gathers in one class all the various
* evaluation grades used throughout the application.
*
* @author Hervé Bitteur
*/
public class Grades
{
//~ Static fields/initializers ---------------------------------------------
/** Specific application parameters */
private static final Constants constants = new Constants();
// Maximum values
//---------------
/** <b>Maximum</b> grade for a glyph before being merged in a compound */
public static final double compoundPartMaxGrade = constants.compoundPartMaxGrade.getValue();
// Minimum values
//---------------
/** Minimum grade for a bass clef glyph */
public static final double bassMinGrade = constants.bassMinGrade.getValue();
/** Minimum grade for a bass clef glyph */
public static final double clefMinGrade = constants.clefMinGrade.getValue();
/** Minimum grade for a consistent note */
public static final double consistentNoteMinGrade = constants.consistentNoteMinGrade.getValue();
/** Minimum grade for a hook glyph */
public static final double forteMinGrade = constants.forteMinGrade.getValue();
/** Minimum grade for a hook glyph */
public static final double hookMinGrade = constants.hookMinGrade.getValue();
/** Minimum grade for a key signature */
public static final double keySigMinGrade = constants.keySigMinGrade.getValue();
/** Minimum grade for a glyph left over */
public static final double leftOverMinGrade = constants.leftOverMinGrade.getValue();
/** Minimum grade for a leaf glyph */
public static final double ledgerNoteMinGrade = constants.ledgerNoteMinGrade.getValue();
/** Minimum grade for a merged note */
public static final double mergedNoteMinGrade = constants.mergedNoteMinGrade.getValue();
/** Minimum grade for a part of split glyph */
public static final double partMinGrade = constants.partMinGrade.getValue();
/** Minimum grade for a patterns-issued glyph */
public static final double patternsMinGrade = constants.patternsMinGrade.getValue();
/** Minimum grade for a symbol glyph */
public static final double symbolMinGrade = constants.symbolMinGrade.getValue();
/** Minimum grade for a text glyph */
public static final double textMinGrade = constants.textMinGrade.getValue();
/** Minimum grade for a time glyph */
public static final double timeMinGrade = constants.timeMinGrade.getValue();
/** Minimum grade for a validation */
public static final double validationMinGrade = constants.validationMinGrade.getValue();
/** No minimum grade */
public static final double noMinGrade = 0;
//~ Constructors -----------------------------------------------------------
private Grades ()
{
}
//~ Inner Classes ----------------------------------------------------------
//-----------//
// Constants //
//-----------//
private static final class Constants
extends ConstantSet
{
//~ Instance fields ----------------------------------------------------
Evaluation.Grade compoundPartMaxGrade = new Evaluation.Grade(
90,
"*MAXIMUM* grade for a suitable compound part");
//----------------------------------------------------------------------
// Minimum values (please keep them sorted by decreasing value)
//
Evaluation.Grade validationMinGrade = new Evaluation.Grade(
83,
"Minimum grade for a validation");
//
Evaluation.Grade symbolMinGrade = new Evaluation.Grade(
77,
"Minimum grade for a symbol");
//
Evaluation.Grade patternsMinGrade = new Evaluation.Grade(
67,
"Minimum grade for pattern phase");
//
Evaluation.Grade partMinGrade = new Evaluation.Grade(
35,
"Minimum grade for a part of a split glyph");
//
Evaluation.Grade bassMinGrade = new Evaluation.Grade(
33,
"Minimum grade for a bass clef");
//
Evaluation.Grade hookMinGrade = new Evaluation.Grade(
20,
"Minimum grade for beam hook verification");
//
Evaluation.Grade mergedNoteMinGrade = new Evaluation.Grade(
20,
"Minimum grade for a merged note");
//
Evaluation.Grade leftOverMinGrade = new Evaluation.Grade(
10,
"Minimum grade for a glyph left over");
//
Evaluation.Grade ledgerNoteMinGrade = new Evaluation.Grade(
10,
"Minimum grade for a ledger note");
//
Evaluation.Grade clefMinGrade = new Evaluation.Grade(
0.3,
"Minimum grade for a clef");
//
Evaluation.Grade consistentNoteMinGrade = new Evaluation.Grade(
0.1,
"Minimum grade for a consistent note head");
//
Evaluation.Grade forteMinGrade = new Evaluation.Grade(
0.01,
"Minimum grade for glyph close to Forte");
//
Evaluation.Grade keySigMinGrade = new Evaluation.Grade(
0.01,
"Minimum grade for a key signature");
//
Evaluation.Grade textMinGrade = new Evaluation.Grade(
0.01,
"Minimum grade for a text symbol");
//
Evaluation.Grade timeMinGrade = new Evaluation.Grade(
0,
"Minimum grade for a time sig");
}
}