// Path: src/main/java/org/audiveris/omrdataset/Main.java
// public class Main
// {
//     //~ Static fields/initializers -----------------------------------------------------------------
// 
//     private static final Logger logger = LoggerFactory.getLogger(Main.class);
// 
//     /** CLI Parameters. */
//     public static CLI cli;
// 
//     //~ Methods ------------------------------------------------------------------------------------
//     public static void main (String[] args)
//             throws Exception
//     {
//         cli = CLI.create(args);
// 
//         if (cli.help) {
//             return; // Help has been printed by CLI itself
//         }
// 
//         if (cli.outputFolder == null) {
//             logger.warn("Output location not specified, please use -output option");
// 
//             return;
//         }
// 
//         if (cli.names) {
//             OmrShapes.printOmrShapes();
//         }
// 
//         if (cli.clean) {
//             new Clean().process();
//         }
// 
//         if (cli.features) {
//             // Extract features
//             new Features().process();
//         }
// 
//         if (cli.subimages) {
//             // Extract subimages for visual check (not mandatory)
//             new SubImages().process();
//         }
// 
//         if (cli.training) {
//             // Train the classifier
//             new Training().process();
//         }
//     }
// }
// 
// Path: src/main/java/org/audiveris/omrdataset/classifier/Context.java
// public static final String DIMS_NAME = "dims.dat";
// 
// Path: src/main/java/org/audiveris/omrdataset/classifier/Context.java
// public static final String MODEL_NAME = "patch-classifier.zip";
// 
// Path: src/main/java/org/audiveris/omrdataset/train/App.java
// public abstract class App
// {
//     //~ Static fields/initializers -----------------------------------------------------------------
// 
//     private static final Logger logger = LoggerFactory.getLogger(App.class);
// 
//     /** Abscissa margin around a None symbol location. */
//     public static final int NONE_X_MARGIN = (int) Math.rint(INTERLINE * 0.5);
// 
//     /** Ordinate margin around a None symbol location. */
//     public static final int NONE_Y_MARGIN = (int) Math.rint(INTERLINE * 0.5);
// 
//     /** Ratio of None symbols created versus valid symbols found in page: {@value}. */
//     public static final double NONE_RATIO = 0.2; // 1.0;
// 
//     /** Format for output images (sub-images and control-images): {@value}. */
//     public static final String OUTPUT_IMAGES_FORMAT = "png";
// 
//     /** File extension for output images: {@value}. */
//     public static final String OUTPUT_IMAGES_EXT = "." + OUTPUT_IMAGES_FORMAT;
// 
//     /** File extension for page info: {@value}. */
//     public static final String INFO_EXT = ".xml";
// 
//     /** Folder name for control-images: {@value}. */
//     public static final String CONTROL_IMAGES_NAME = "control-images";
// 
//     /** Folder name for sub-images: {@value}. */
//     public static final String SUB_IMAGES_NAME = "sub-images";
// 
//     /** Folder name for mistakes: {@value}. */
//     public static final String MISTAKES_NAME = "mistakes";
// 
//     /** File name for features: {@value}. */
//     public static final String FEATURES_NAME = "features.csv";
// 
//     /** FIle name for journal: {@value}. */
//     public static final String JOURNAL_NAME = "journal.csv";
// 
//     /** File name for sheets: {@value}. */
//     public static final String SHEETS_NAME = "sheets.csv";
// 
//     /** File name for pixel standards: {@value}. */
//     public static final String PIXELS_NAME = "pixels.dat";
// }


import org.audiveris.omrdataset.Main;
import static org.audiveris.omrdataset.classifier.Context.DIMS_NAME;
import static org.audiveris.omrdataset.classifier.Context.MODEL_NAME;
import static org.audiveris.omrdataset.train.App.*;
import java.nio.file.Path;
import java.nio.file.Paths;
//------------------------------------------------------------------------------------------------//
//                                                                                                //
//                                         A p p P a t h s                                        //
//                                                                                                //
//------------------------------------------------------------------------------------------------//
// <editor-fold defaultstate="collapsed" desc="hdr">
//
//  Copyright © Audiveris 2017. All rights reserved.
//
//  This program is free software: you can redistribute it and/or modify it under the terms of the
//  GNU Affero General Public License as published by the Free Software Foundation, either version
//  3 of the License, or (at your option) any later version.
//
//  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
//  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
//  See the GNU Affero General Public License for more details.
//
//  You should have received a copy of the GNU Affero General Public License along with this
//  program.  If not, see <http://www.gnu.org/licenses/>.
//------------------------------------------------------------------------------------------------//
// </editor-fold>
package org.audiveris.omrdataset.train;



/**
 * Class {@code AppPaths} gathers paths for Omr Dataset application
 *
 * @author Hervé Bitteur
 */
public class AppPaths
{
    //~ Static fields/initializers -----------------------------------------------------------------

    /** Path to where the data is written. */
// Path: src/main/java/org/audiveris/omrdataset/Main.java
// public class Main
// {
//     //~ Static fields/initializers -----------------------------------------------------------------
// 
//     private static final Logger logger = LoggerFactory.getLogger(Main.class);
// 
//     /** CLI Parameters. */
//     public static CLI cli;
// 
//     //~ Methods ------------------------------------------------------------------------------------
//     public static void main (String[] args)
//             throws Exception
//     {
//         cli = CLI.create(args);
// 
//         if (cli.help) {
//             return; // Help has been printed by CLI itself
//         }
// 
//         if (cli.outputFolder == null) {
//             logger.warn("Output location not specified, please use -output option");
// 
//             return;
//         }
// 
//         if (cli.names) {
//             OmrShapes.printOmrShapes();
//         }
// 
//         if (cli.clean) {
//             new Clean().process();
//         }
// 
//         if (cli.features) {
//             // Extract features
//             new Features().process();
//         }
// 
//         if (cli.subimages) {
//             // Extract subimages for visual check (not mandatory)
//             new SubImages().process();
//         }
// 
//         if (cli.training) {
//             // Train the classifier
//             new Training().process();
//         }
//     }
// }
// 
// Path: src/main/java/org/audiveris/omrdataset/classifier/Context.java
// public static final String DIMS_NAME = "dims.dat";
// 
// Path: src/main/java/org/audiveris/omrdataset/classifier/Context.java
// public static final String MODEL_NAME = "patch-classifier.zip";
// 
// Path: src/main/java/org/audiveris/omrdataset/train/App.java
// public abstract class App
// {
//     //~ Static fields/initializers -----------------------------------------------------------------
// 
//     private static final Logger logger = LoggerFactory.getLogger(App.class);
// 
//     /** Abscissa margin around a None symbol location. */
//     public static final int NONE_X_MARGIN = (int) Math.rint(INTERLINE * 0.5);
// 
//     /** Ordinate margin around a None symbol location. */
//     public static final int NONE_Y_MARGIN = (int) Math.rint(INTERLINE * 0.5);
// 
//     /** Ratio of None symbols created versus valid symbols found in page: {@value}. */
//     public static final double NONE_RATIO = 0.2; // 1.0;
// 
//     /** Format for output images (sub-images and control-images): {@value}. */
//     public static final String OUTPUT_IMAGES_FORMAT = "png";
// 
//     /** File extension for output images: {@value}. */
//     public static final String OUTPUT_IMAGES_EXT = "." + OUTPUT_IMAGES_FORMAT;
// 
//     /** File extension for page info: {@value}. */
//     public static final String INFO_EXT = ".xml";
// 
//     /** Folder name for control-images: {@value}. */
//     public static final String CONTROL_IMAGES_NAME = "control-images";
// 
//     /** Folder name for sub-images: {@value}. */
//     public static final String SUB_IMAGES_NAME = "sub-images";
// 
//     /** Folder name for mistakes: {@value}. */
//     public static final String MISTAKES_NAME = "mistakes";
// 
//     /** File name for features: {@value}. */
//     public static final String FEATURES_NAME = "features.csv";
// 
//     /** FIle name for journal: {@value}. */
//     public static final String JOURNAL_NAME = "journal.csv";
// 
//     /** File name for sheets: {@value}. */
//     public static final String SHEETS_NAME = "sheets.csv";
// 
//     /** File name for pixel standards: {@value}. */
//     public static final String PIXELS_NAME = "pixels.dat";
// }


// Path: src/main/java/org/audiveris/omrdataset/train/AppPaths.java
import org.audiveris.omrdataset.Main;
import static org.audiveris.omrdataset.classifier.Context.DIMS_NAME;
import static org.audiveris.omrdataset.classifier.Context.MODEL_NAME;
import static org.audiveris.omrdataset.train.App.*;
import java.nio.file.Path;
import java.nio.file.Paths;

//------------------------------------------------------------------------------------------------//
//                                                                                                //
//                                         A p p P a t h s                                        //
//                                                                                                //
//------------------------------------------------------------------------------------------------//
// <editor-fold defaultstate="collapsed" desc="hdr">
//
//  Copyright © Audiveris 2017. All rights reserved.
//
//  This program is free software: you can redistribute it and/or modify it under the terms of the
//  GNU Affero General Public License as published by the Free Software Foundation, either version
//  3 of the License, or (at your option) any later version.
//
//  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
//  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
//  See the GNU Affero General Public License for more details.
//
//  You should have received a copy of the GNU Affero General Public License along with this
//  program.  If not, see <http://www.gnu.org/licenses/>.
//------------------------------------------------------------------------------------------------//
// </editor-fold>
package org.audiveris.omrdataset.train;



/**
 * Class {@code AppPaths} gathers paths for Omr Dataset application
 *
 * @author Hervé Bitteur
 */
public class AppPaths
{
    //~ Static fields/initializers -----------------------------------------------------------------

    /** Path to where the data is written. */
    public static final Path OUTPUT_PATH = (Main.cli.outputFolder != null) ? Main.cli.outputFolder