(ImagePlus imp, String path, String extension)
| 284 | } |
| 285 | |
| 286 | public static void saveFolder(ImagePlus imp, String path, String extension) { |
| 287 | // GET PATH |
| 288 | if (path == null || path.trim().isEmpty()) { |
| 289 | var nm = imp.getTitle(); |
| 290 | |
| 291 | String title = FitsExtensionUtil.fileNameWithoutExt(nm); |
| 292 | SaveDialog sd = new SaveDialog("Write FITS image",title,extension); |
| 293 | path = sd.getDirectory()+sd.getFileName(); |
| 294 | } |
| 295 | |
| 296 | var p = Path.of(path); |
| 297 | var dir = Files.isDirectory(p) ? p : p.getParent(); |
| 298 | var name = Files.isDirectory(p) ? "fits" : FitsExtensionUtil.fileNameWithoutExt(p.getFileName().toString()); |
| 299 | var options = FitsExtensionUtil.compressionModes(path); |
| 300 | |
| 301 | var size = imp.getStackSize(); |
| 302 | int numberOfDigits = Integer.toString(size+1).length(); |
| 303 | |
| 304 | var format = new DecimalFormat("0".repeat(numberOfDigits)); |
| 305 | |
| 306 | IJ.showProgress(0, size); |
| 307 | for (int i = 1; i <= size; i++) { |
| 308 | var pi = dir.resolve(FitsExtensionUtil.makeFitsSave("%s_%s".formatted(name, format.format(i)), options.toArray(FitsExtensionUtil.CompressionMode[]::new))); |
| 309 | saveImage(imp, pi.toString(), i); |
| 310 | IJ.showProgress(i, size); |
| 311 | } |
| 312 | } |
| 313 | |
| 314 | public static void saveMPTable(ResultsTable resultsTable, boolean includePrefs, boolean includeApertures, String path, String extension) { |
| 315 | IJ.showStatus("Saving image..."); |
no test coverage detected