DOWNLOAD
package AngioTool; import Utils.Misc;import Utils.RefVector; public class BatchParameters{ public String defaultPath; public String[] inputImagePaths; public String excelFilePath; public boolean shouldSaveResultImages; public boolean shouldSaveImagesToSpecificFolder; public String resultImagesPath; public String resultImageFormat; public boolean shouldOverrideWorkerCount; public int workerCount; private BatchParameters() {} public BatchParameters( String defaultPath, String[] inputImagePaths, String excelFilePath, boolean shouldSaveResultImages, boolean shouldSaveImagesToSpecificFolder, String resultImagesPath, String resultImageFormat, boolean shouldOverrideWorkerCount, int workerCount ) { this.defaultPath = defaultPath; this.inputImagePaths = inputImagePaths; this.excelFilePath = excelFilePath; this.shouldSaveResultImages = shouldSaveResultImages; this.shouldSaveImagesToSpecificFolder = shouldSaveImagesToSpecificFolder; this.resultImagesPath = resultImagesPath; this.resultImageFormat = resultImageFormat; this.shouldOverrideWorkerCount = shouldOverrideWorkerCount; this.workerCount = workerCount; } public static BatchParameters defaults() { BatchParameters params = new BatchParameters(); params.defaultPath = "C:\\"; params.resultImageFormat = "jpg"; params.workerCount = 4; return params; } public RefVector<String> validate() { RefVector<String> errors = new RefVector<>(String.class); try { BatchProcessing.resolveImageFormat(resultImageFormat); } catch (Exception ex) { errors.add("Result image format: " + ex.getMessage()); } if (inputImagePaths == null || inputImagePaths.length == 0) errors.add("At least one input folder is required"); if (!Misc.isValidPath(excelFilePath)) errors.add("Path to spreadsheet is missing"); if (shouldSaveImagesToSpecificFolder && !Misc.isValidPath(resultImagesPath)) errors.add("Specific output folder was selected but not provided"); if (workerCount <= 0) errors.add( "Number of workers should be at least 1, optimally matching the number of processors (" + Runtime.getRuntime().availableProcessors() + ")" ); return errors; }}