diff --git a/src/main/java/bdv/ij/ExportImagePlusPlugIn.java b/src/main/java/bdv/ij/ExportImagePlusPlugIn.java index 7d069718ad3522aa8b4b8f55d76d409456a55293..4b9510b83540a20ad170dd0738021a73d3431253 100644 --- a/src/main/java/bdv/ij/ExportImagePlusPlugIn.java +++ b/src/main/java/bdv/ij/ExportImagePlusPlugIn.java @@ -34,6 +34,7 @@ import bdv.export.ProgressWriter; import bdv.export.ProposeMipmaps; import bdv.export.SubTaskProgressWriter; import bdv.export.WriteSequenceToHdf5; +import bdv.export.WriteSequenceToHdf5.AfterEachPlane; import bdv.export.WriteSequenceToHdf5.LoopbackHeuristic; import bdv.ij.export.imgloader.ImagePlusImgLoader; import bdv.ij.export.imgloader.ImagePlusImgLoader.MinMaxOption; @@ -187,11 +188,14 @@ public class ExportImagePlusPlugIn implements PlugIn return false; } + }; + final AfterEachPlane afterEachPlane = new AfterEachPlane() + { @Override - public void afterEachPlane() + public void afterEachPlane( final boolean usedLoopBack ) { - if ( isVirtual ) + if ( !usedLoopBack && isVirtual ) { final long free = Runtime.getRuntime().freeMemory(); final long total = Runtime.getRuntime().totalMemory(); @@ -202,6 +206,7 @@ public class ExportImagePlusPlugIn implements PlugIn imgLoader.clearCache(); } } + }; final ArrayList< Partition > partitions; @@ -215,14 +220,14 @@ public class ExportImagePlusPlugIn implements PlugIn { final Partition partition = partitions.get( i ); final ProgressWriter p = new SubTaskProgressWriter( progressWriter, 0, 0.95 * i / partitions.size() ); - WriteSequenceToHdf5.writeHdf5PartitionFile( seq, perSetupExportMipmapInfo, params.deflate, partition, loopbackHeuristic, p ); + WriteSequenceToHdf5.writeHdf5PartitionFile( seq, perSetupExportMipmapInfo, params.deflate, partition, loopbackHeuristic, afterEachPlane, p ); } WriteSequenceToHdf5.writeHdf5PartitionLinkFile( seq, perSetupExportMipmapInfo, partitions, params.hdf5File ); } else { partitions = null; - WriteSequenceToHdf5.writeHdf5File( seq, perSetupExportMipmapInfo, params.deflate, params.hdf5File, loopbackHeuristic, new SubTaskProgressWriter( progressWriter, 0, 0.95 ) ); + WriteSequenceToHdf5.writeHdf5File( seq, perSetupExportMipmapInfo, params.deflate, params.hdf5File, loopbackHeuristic, afterEachPlane, new SubTaskProgressWriter( progressWriter, 0, 0.95 ) ); } // write xml sequence description diff --git a/src/main/java/bdv/ij/ExportSpimFusionPlugIn.java b/src/main/java/bdv/ij/ExportSpimFusionPlugIn.java index 911d42f31eb11b64699adf54036cf67510ad6c6c..7fa3a509a512cdac21ba39cf0fb02e90e874f28c 100644 --- a/src/main/java/bdv/ij/ExportSpimFusionPlugIn.java +++ b/src/main/java/bdv/ij/ExportSpimFusionPlugIn.java @@ -294,7 +294,7 @@ public class ExportSpimFusionPlugIn implements PlugIn for ( final Partition partition : newPartitions ) { final SubTaskProgressWriter subtaskProgress = new SubTaskProgressWriter( progress, complete, complete + completionStep ); - WriteSequenceToHdf5.writeHdf5PartitionFile( fusionSeq, perSetupExportMipmapInfo, params.deflate, partition, null, subtaskProgress ); + WriteSequenceToHdf5.writeHdf5PartitionFile( fusionSeq, perSetupExportMipmapInfo, params.deflate, partition, null, null, subtaskProgress ); complete += completionStep; } @@ -346,13 +346,13 @@ public class ExportSpimFusionPlugIn implements PlugIn { final Partition partition = partitions.get( i ); final ProgressWriter p = new SubTaskProgressWriter( progress, 0, 0.95 * i / partitions.size() ); - WriteSequenceToHdf5.writeHdf5PartitionFile( desc, perSetupExportMipmapInfo, params.deflate, partition, null, p ); + WriteSequenceToHdf5.writeHdf5PartitionFile( desc, perSetupExportMipmapInfo, params.deflate, partition, null, null, p ); } WriteSequenceToHdf5.writeHdf5PartitionLinkFile( desc, perSetupExportMipmapInfo, partitions, params.hdf5File ); } else { - WriteSequenceToHdf5.writeHdf5File( desc, perSetupExportMipmapInfo, params.deflate, params.hdf5File, null, new SubTaskProgressWriter( progress, 0, 0.95 ) ); + WriteSequenceToHdf5.writeHdf5File( desc, perSetupExportMipmapInfo, params.deflate, params.hdf5File, null, null, new SubTaskProgressWriter( progress, 0, 0.95 ) ); } // write xml file diff --git a/src/main/java/bdv/ij/ExportSpimSequencePlugIn.java b/src/main/java/bdv/ij/ExportSpimSequencePlugIn.java index 29b79429e0e8df7b5e35accc03a3f4a119b705e5..7a1747b9270f7564a8f58b456ddb13ed02a5ff3a 100644 --- a/src/main/java/bdv/ij/ExportSpimSequencePlugIn.java +++ b/src/main/java/bdv/ij/ExportSpimSequencePlugIn.java @@ -86,14 +86,14 @@ public class ExportSpimSequencePlugIn implements PlugIn { final Partition partition = partitions.get( i ); final ProgressWriter p = new SubTaskProgressWriter( progress, 0, 0.95 * i / partitions.size() ); - WriteSequenceToHdf5.writeHdf5PartitionFile( desc, perSetupExportMipmapInfo, params.deflate, partition, null, p ); + WriteSequenceToHdf5.writeHdf5PartitionFile( desc, perSetupExportMipmapInfo, params.deflate, partition, null, null, p ); } WriteSequenceToHdf5.writeHdf5PartitionLinkFile( desc, perSetupExportMipmapInfo, partitions, params.hdf5File ); } else { partitions = null; - WriteSequenceToHdf5.writeHdf5File( desc, perSetupExportMipmapInfo, params.deflate, params.hdf5File, null, new SubTaskProgressWriter( progress, 0, 0.95 ) ); + WriteSequenceToHdf5.writeHdf5File( desc, perSetupExportMipmapInfo, params.deflate, params.hdf5File, null, null, new SubTaskProgressWriter( progress, 0, 0.95 ) ); } final Hdf5ImageLoader loader = new Hdf5ImageLoader( params.hdf5File, partitions, null, false ); diff --git a/src/main/java/bdv/ij/export/Scripting.java b/src/main/java/bdv/ij/export/Scripting.java index 2f98561ef0690c89e5e6283916fe86635837b9b5..dc8f190cc3d9493e024aa9d7525a76b1730069b7 100644 --- a/src/main/java/bdv/ij/export/Scripting.java +++ b/src/main/java/bdv/ij/export/Scripting.java @@ -203,7 +203,7 @@ public class Scripting public void writePartition( final int index ) { if ( index >= 0 && index < partitions.size() ) - WriteSequenceToHdf5.writeHdf5PartitionFile( spimData.getSequenceDescription(), perSetupMipmapInfo, deflate, partitions.get( index ), null, null ); + WriteSequenceToHdf5.writeHdf5PartitionFile( spimData.getSequenceDescription(), perSetupMipmapInfo, deflate, partitions.get( index ), null, null, null ); } public void writeXmlAndLinks() throws SpimDataException diff --git a/src/main/java/bdv/ij/export/tiles/CellVoyagerDataExporter.java b/src/main/java/bdv/ij/export/tiles/CellVoyagerDataExporter.java index b4b035cd78be3ac43cabb8a94fa740f8a54949dc..069bdf922a244f6941d300109b542914a82dbf5d 100644 --- a/src/main/java/bdv/ij/export/tiles/CellVoyagerDataExporter.java +++ b/src/main/java/bdv/ij/export/tiles/CellVoyagerDataExporter.java @@ -315,7 +315,7 @@ public class CellVoyagerDataExporter * Write to HDF5 */ - WriteSequenceToHdf5.writeHdf5File( sequenceDescriptionHDF5, resolutions, chunks, true, hdf5File, null, progressWriter ); + WriteSequenceToHdf5.writeHdf5File( sequenceDescriptionHDF5, resolutions, chunks, true, hdf5File, null, null, progressWriter ); /* * write XML sequence description