Skip to content

Commit

Permalink
Merge pull request #22 from BIOP/qp-0.6
Browse files Browse the repository at this point in the history
Qp 0.6
  • Loading branch information
lacan authored Nov 5, 2024
2 parents a59be8c + 2c59d54 commit c0107b2
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 17 deletions.
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ ext.qupathVersion = gradle.ext.qupathVersion

ext.moduleName = "qupath.ext.warpy"
description = "QuPath extension to use Warpy"
version = "0.3.2-SNAPSHOT"
version = "0.4.0-SNAPSHOT"

dependencies {
implementation "io.github.qupath:qupath-gui-fx:${qupathVersion}"
Expand Down Expand Up @@ -56,7 +56,7 @@ tasks.register("copyDependencies", Copy) {
*/
java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
languageVersion = JavaLanguageVersion.of(21)
}
if (project.properties['sources'])
withSourcesJar()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import java.net.URI;
import java.util.Collection;
import java.util.Map;
import java.util.Optional;

import qupath.lib.images.servers.ImageServer;
import qupath.lib.images.servers.ImageServerMetadata;
Expand All @@ -43,10 +44,6 @@ protected ImageServer<BufferedImage> buildOriginal() throws Exception {
return new AffineTransformInterpolationImageServer(builder.build(), transforminterpolation);
}

protected ImageServerMetadata getMetadata() {
return metadata;
}

@Override
public ImageServer<BufferedImage> build() throws Exception {
var server = buildOriginal();
Expand All @@ -67,8 +64,11 @@ public ServerBuilder<BufferedImage> updateURIs(Map<URI, URI> updateMap) {
ServerBuilder<BufferedImage> newBuilder = builder.updateURIs(updateMap);
if (newBuilder == builder)
return this;
return new AffineTransformInterpolationImageServerBuilder(getMetadata(), newBuilder, transforminterpolation);
return new AffineTransformInterpolationImageServerBuilder(getMetadata().get(), newBuilder, transforminterpolation);
}

public Optional<ImageServerMetadata> getMetadata() {
return Optional.of(metadata);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import java.net.URI;
import java.util.Collection;
import java.util.Map;
import java.util.Optional;

import qupath.lib.images.servers.ImageServer;
import qupath.lib.images.servers.ImageServerMetadata;
Expand Down Expand Up @@ -45,9 +46,6 @@ protected ImageServer<BufferedImage> buildOriginal() throws Exception {
return new RealTransformImageServer(builder.build(), realtransforminterpolation, interpolation);
}

protected ImageServerMetadata getMetadata() {
return metadata;
}

@Override
public ImageServer<BufferedImage> build() throws Exception {
Expand All @@ -69,7 +67,11 @@ public ServerBuilder<BufferedImage> updateURIs(Map<URI, URI> updateMap) {
ServerBuilder<BufferedImage> newBuilder = builder.updateURIs(updateMap);
if (newBuilder == builder)
return this;
return new RealTransformImageServerBuilder(getMetadata(), newBuilder, realtransforminterpolation);
return new RealTransformImageServerBuilder(getMetadata().get(), newBuilder, realtransforminterpolation);
}

public Optional<ImageServerMetadata> getMetadata() {
return Optional.of(metadata);
}

}
18 changes: 12 additions & 6 deletions src/main/java/qupath/ext/warpy/Warpy.java
Original file line number Diff line number Diff line change
Expand Up @@ -396,14 +396,17 @@ private static PathObject transformPathObject(PathObject object, CoordinateSeque
} else if (object instanceof PathCellObject) {
// Need to transform the nucleus as well
ROI original_nuc = ((PathCellObject) object).getNucleusROI();
ROI transformed_nuc_roi = null;
if (original_nuc != null) {

Geometry nuc_geometry = original_nuc.getGeometry();
Geometry nuc_geometry = original_nuc.getGeometry();

GeometryTools.attemptOperation(nuc_geometry, (g) -> {
g.apply(transform);
return g;
});
ROI transformed_nuc_roi = GeometryTools.geometryToROI(nuc_geometry, original_roi.getImagePlane());
GeometryTools.attemptOperation(nuc_geometry, (g) -> {
g.apply(transform);
return g;
});
transformed_nuc_roi = GeometryTools.geometryToROI(nuc_geometry, original_roi.getImagePlane());
}
transformedObject = PathObjects.createCellObject(transformed_roi, transformed_nuc_roi, object.getPathClass(), copyMeasurements ? object.getMeasurementList() : null);

} else if (object instanceof PathDetectionObject) {
Expand All @@ -412,6 +415,9 @@ private static PathObject transformPathObject(PathObject object, CoordinateSeque
throw new Exception("Unknown PathObject class for class " + object.getClass().getSimpleName());
}

// Return the same ID as the original object
transformedObject.setID(object.getID());
transformedObject.setName(object.getName());
return transformedObject;
}

Expand Down

0 comments on commit c0107b2

Please sign in to comment.