Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Qp 0.6 #22

Merged
merged 6 commits into from
Nov 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading