Skip to content

Commit be07892

Browse files
fix multiple file deletes with --overlappingOnly
1 parent eac1e53 commit be07892

2 files changed

Lines changed: 24 additions & 5 deletions

File tree

.gitignore

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,15 @@
55
/.settings/
66
/.idea/
77
affine-fusion
8+
clear-interestpoints
9+
clear-registrations
10+
create-fusion-container
11+
detect-interestpoints
12+
downsample
13+
match-interestpoints
14+
nonrigid-fusion
15+
resave
16+
solver
17+
split-images
18+
stitching
19+
transform-points

src/main/java/net/preibisch/bigstitcher/spark/SparkInterestPointDetection.java

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@
3333
import java.util.concurrent.ExecutorService;
3434
import java.util.concurrent.Executors;
3535
import java.util.stream.Collectors;
36+
import java.util.Set;
37+
import java.util.HashSet;
3638

3739
import org.apache.spark.SparkConf;
3840
import org.apache.spark.api.java.JavaRDD;
@@ -654,6 +656,11 @@ public Void call() throws Exception
654656
rddResult.count();
655657

656658
final List<Tuple3<ViewId, long[][], String>> results = rddResult.collect();
659+
final Set<String> datasetSet = new HashSet<String>();
660+
for (Tuple3<ViewId, long[][], String> res : results) {
661+
datasetSet.add(res._3());
662+
}
663+
final List<String> datasetNoDups = new ArrayList<>(datasetSet);
657664

658665
// assemble all interest point intervals per ViewId
659666
final HashMap< ViewId, List< List< InterestPoint > > > interestPointsPerViewId = new HashMap<>();
@@ -696,18 +703,18 @@ public Void call() throws Exception
696703
{
697704
System.out.println( "Deleting temporary Spark files ... ");
698705

699-
final JavaRDD<Tuple3<ViewId, long[][], String>> rdd = sc.parallelize( results, Math.min( Spark.maxPartitions, results.size() ) );
706+
final JavaRDD<String> rdd = sc.parallelize( datasetNoDups, Math.min( Spark.maxPartitions, datasetNoDups.size() ) );
700707

701708
rdd.foreach( boundingBox ->
702709
{
703710
final N5Writer n5WriterLocal = URITools.instantiateN5Writer( StorageFormat.N5, tempURI );
704711

705-
if ( n5WriterLocal.datasetExists( tempDataset + "/" + boundingBox._3() + "/points" ))
712+
if ( n5WriterLocal.datasetExists( tempDataset + "/" + boundingBox + "/points" ))
706713
{
707-
n5WriterLocal.remove( tempDataset + "/" + boundingBox._3() + "/points" );
714+
n5WriterLocal.remove( tempDataset + "/" + boundingBox + "/points" );
708715

709-
if ( n5WriterLocal.datasetExists( tempDataset + "/" + boundingBox._3() + "/intensities" ) )
710-
n5WriterLocal.remove( tempDataset + "/" + boundingBox._3() + "/intensities" );
716+
if ( n5WriterLocal.datasetExists( tempDataset + "/" + boundingBox + "/intensities" ) )
717+
n5WriterLocal.remove( tempDataset + "/" + boundingBox + "/intensities" );
711718

712719
n5WriterLocal.close();
713720
}

0 commit comments

Comments
 (0)