package net.seninp.grammarviz.cli;
import com.beust.jcommander.Parameter;
import net.seninp.jmotif.sax.NumerosityReductionStrategy;
import java.util.ArrayList;
import java.util.List;
/**
* Implements a parameters template for CLI conversion.
*
* @author psenin
*/
public class TS2GrammarParameters {
// general setup
@Parameter
public List<String> parameters = new ArrayList<>();
@Parameter(names = { "--help", "-h" }, help = true)
public boolean help;
// dataset
@Parameter(names = { "--data_in", "-d" }, description = "The input file name")
public static String IN_FILE;
// output
@Parameter(names = { "--data_out", "-o" }, description = "The output file name")
public static String OUT_FILE;
// discretization parameters
@Parameter(names = { "--window_size", "-w" }, description = "Sliding window size")
public static int SAX_WINDOW_SIZE = 30;
@Parameter(names = { "--word_size", "-p" }, description = "PAA word size")
public static int SAX_PAA_SIZE = 6;
@Parameter(names = { "--alphabet_size", "-a" }, description = "SAX alphabet size")
public static int SAX_ALPHABET_SIZE = 4;
@Parameter(names = "--strategy", description = "Numerosity reduction strategy")
public static NumerosityReductionStrategy SAX_NR_STRATEGY = NumerosityReductionStrategy.NONE;
@Parameter(names = "--threshold", description = "Normalization threshold")
public static double SAX_NORM_THRESHOLD = 0.01;
@Parameter(names = "--prune", description = "Pass to prune rules")
public static boolean PRUNE_RULES = false;
@Parameter(names = {"--num-workers", "-n"}, description = "Number of worker threads to use for SAX")
public static int NUM_WORKERS = 1;
}