コード例 #1
0
        String weightsDir; //weights directory

        #endregion Fields

        #region Constructors

        /**
         * Set the base directory (where all the images are), weights directory (wDir), and pass in the filepath
         * for the color names json data
         */
        public PaletteExtractor(String directory, String wDir, String json, bool debugLogs=false)
        {
            debug = debugLogs;
            dir = directory;
            weightsDir = wDir;

            colorNames = new ColorNames(json);

            int numBins = colorNames.map.Keys.Count();
            cnCache = new double[numBins, numBins];
            cacheLocks = new object[256];

            for (int i = 0; i < numBins; i++)
            {
                for (int j = 0; j < numBins; j++)
                {
                    cnCache[i, j] = -1;
                }
            }
            for (int i = 0; i < cacheLocks.Length; i++)
                cacheLocks[i] = new object();

            featureName = new FeatureName();

            //create base subdirectories
            Directory.CreateDirectory(Path.Combine(dir, "swatches"));
            Directory.CreateDirectory(Path.Combine(dir, "out"));
            Directory.CreateDirectory(Path.Combine(dir, "saliency"));
            Directory.CreateDirectory(Path.Combine(dir, "segments"));
        }
コード例 #2
0
        String weightsDir; //weights directory

        #endregion Fields

        #region Constructors

        //Set the base directory (where all the images are), and pass in the filepath
        //for the color names data
        public PaletteExtractor(String directory, String wDir, String json)
        {
            dir = directory;
            weightsDir = wDir;

            colorNames = new ColorNames(json);

            int numBins = colorNames.map.Keys.Count();
            cnCache = new double[numBins, numBins];
            for (int i = 0; i < numBins; i++)
            {
                for (int j = 0; j < numBins; j++)
                    cnCache[i, j] = -1;
            }

            featureName = new FeatureName();

            //create base subdirectories
            Directory.CreateDirectory(dir + "\\swatches\\");
            Directory.CreateDirectory(dir + "\\out\\");
            Directory.CreateDirectory(dir + "\\saliency\\");
            Directory.CreateDirectory(dir + "\\segments\\");
        }
コード例 #3
0
ファイル: Extract.cs プロジェクト: brightown/color-themes
        public Extract()
        {
            InitializeComponent();

            reference = new List<EvalItem>();
            compare = new List<EvalItem>();
            featureName = new FeatureName();

            diagramLeft = new List<EvalItem>();
            diagramRight = new List<EvalItem>();

            //load the config file
            String[] lines = File.ReadAllLines(config);
            foreach (String l in lines)
            {
                String[] fields = l.Split('>');
                String param = fields.First().Trim();
                String[] subfields;

                switch (param)
                {
                    case "dir":
                        dir = fields.Last().Trim();
                        break;
                    case "json":
                        json = fields.Last().Trim();
                        break;
                    case "weightsDir":
                        weightsDir = fields.Last().Trim();
                        break;

                    case "trainInDir":
                        trainInDir = fields.Last().Trim();
                        break;

                    case "trainOutDir":
                        trainOutDir = fields.Last().Trim();
                        break;

                    case "trainRef":
                        subfields = fields.Last().Split('^');
                        if (subfields.Length > 1)
                            trainReference = new EvalItem("Palettes", subfields[0].Trim(), subfields[1].Trim().ToLower() == "filter");
                        else
                            trainReference = new EvalItem("Palettes", subfields[0].Trim(), false);
                        break;

                    case "evalInOutDir":
                        evalDir = fields.Last().Trim();
                        break;

                    case "ref":
                        subfields = fields.Last().Split('^');
                        if (subfields.Length > 2)
                            reference.Add(new EvalItem(subfields[0].Trim(), subfields[1].Trim(), subfields[2].Trim().ToLower()=="filter"));
                        else
                            reference.Add(new EvalItem(subfields[0].Trim(), subfields[1].Trim(), false));

                        break;
                    case "compare":
                        subfields = fields.Last().Split('^');
                        if (subfields.Length > 2)
                            compare.Add(new EvalItem(subfields[0].Trim(), subfields[1].Trim(), subfields[2].Trim().ToLower() == "filter"));
                        else
                            compare.Add(new EvalItem(subfields[0].Trim(), subfields[1].Trim(), false));

                        break;
                    case "refkeys":
                        refkeys = fields.Last().Trim();
                        break;

                    case "diagramLeft":
                        subfields = fields.Last().Split('^');
                        if (subfields.Length > 2)
                            diagramLeft.Add(new EvalItem(subfields[0].Trim(), subfields[1].Trim(), subfields[2].Trim().ToLower() == "filter"));
                        else
                            diagramLeft.Add(new EvalItem(subfields[0].Trim(), subfields[1].Trim(), false));
                        break;
                    case "diagramRight":
                        subfields = fields.Last().Split('^');
                        if (subfields.Length > 2)
                            diagramRight.Add(new EvalItem(subfields[0].Trim(), subfields[1].Trim(), subfields[2].Trim().ToLower() == "filter"));
                        else
                            diagramRight.Add(new EvalItem(subfields[0].Trim(), subfields[1].Trim(), false));
                        break;
                    default:
                        break;
                }

            }

            //resolve relative paths
            refkeys = Path.Combine(evalDir, refkeys);
            trainReference.Path = Path.Combine(trainInDir, trainReference.Path);
            ResolveRelativePaths(compare, evalDir);
            ResolveRelativePaths(reference, evalDir);
            ResolveRelativePaths(diagramLeft, evalDir);
            ResolveRelativePaths(diagramRight, evalDir);
        }