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

Feat/replace labels #557

Open
wants to merge 33 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
57d0f75
refactor: expose group and metadata parser lists
cmhulbert Nov 18, 2024
fb7313f
refactor: use KeyValueAccess to guess storage format specification
cmhulbert Nov 18, 2024
6d0adca
feat: add DatasetDiscovery for asynchronous dataset parsing
cmhulbert Nov 18, 2024
44d157c
refactor: createMetadataState returns nullable value, instead of Opti…
cmhulbert Nov 26, 2024
6cb51f5
feat: improve open source logic
cmhulbert Nov 26, 2024
df41b62
feat: support channelized OME data
cmhulbert Nov 26, 2024
5cabcb6
refactor: remove DatasetInfo, use OpenSourceState
cmhulbert Nov 27, 2024
ffc001e
refactor: major refactor of opening source logic
cmhulbert Nov 27, 2024
4e51aa9
fix: new metadata state syntax
cmhulbert Dec 3, 2024
f07ba29
refactor: use constant keys for cache directories, not class FQDN
cmhulbert Dec 4, 2024
2e85687
refactor: OpenSourceBackend to be Node
cmhulbert Dec 4, 2024
25f6469
fix: assume `file::` if uri is not absolute
cmhulbert Dec 4, 2024
ce522bb
refactor: PainteraCache updates
cmhulbert Dec 6, 2024
18eabb7
refactor: open source dialog
cmhulbert Dec 6, 2024
740c19c
tmp
cmhulbert Dec 6, 2024
456d53a
feat(test): logic for testing UI and Application logic
cmhulbert Dec 13, 2024
046b841
feat(test): wip DatasetDiscovery Test
cmhulbert Dec 13, 2024
2f2c108
build: dependency version bump
cmhulbert Dec 13, 2024
4b9f1ca
refactor: revert use of new DatasetDiscovery implementation, delegate…
cmhulbert Dec 16, 2024
962ca99
fix: run ui tests only with mvn profile
cmhulbert Dec 16, 2024
4df5e9d
fix: open new N% cache as container, not project
cmhulbert Dec 16, 2024
aadbaee
refactor: don't update progress on UI thread
cmhulbert Dec 16, 2024
9f5ed24
refactor: use kotlin sequence
cmhulbert Dec 16, 2024
0626e2e
fix(test): debugging for CommitCanvasTeston github actions
cmhulbert Dec 16, 2024
6ba36f1
refactor(test): move some test function around, use TempDir for tests
cmhulbert Dec 16, 2024
52bf0dc
build: bump n5-universe
cmhulbert Dec 16, 2024
210a9eb
fix(test): bump to n5 snapshot to test fix
cmhulbert Dec 17, 2024
ed3fe1e
fix(test): more test udpates
cmhulbert Dec 17, 2024
4ed96a1
fix: ensure mesh list has elements for IDs selected on startup
cmhulbert Dec 19, 2024
25133fe
refactor: how Mesh Progress UI nodes work
cmhulbert Dec 19, 2024
694d3ed
refactor: extract some usefull action state logic from SmoothAction, …
cmhulbert Dec 19, 2024
4335fd1
refactor: rename MultiRealIntervalRAI
cmhulbert Dec 19, 2024
a5e4d59
feat: Delete and Replace Labels
cmhulbert Dec 24, 2024
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
103 changes: 50 additions & 53 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@
<parent>
<groupId>org.scijava</groupId>
<artifactId>pom-scijava</artifactId>
<version>38.0.1</version>
<version>40.0.0</version>
</parent>

<groupId>org.janelia.saalfeldlab</groupId>
<artifactId>paintera</artifactId>
<version>1.8.1-SNAPSHOT</version>
<version>1.9.0-SNAPSHOT</version>

<name>Paintera</name>
<description>New Era Painting and annotation tool</description>
Expand Down Expand Up @@ -59,7 +59,6 @@
<!-- JavaFx Version-->
<javafx.version>22.0.1</javafx.version>
<saalfx.version>2.2.0</saalfx.version>
<testfx.version>4.0.16-alpha</testfx.version>

<alphanumeric-comparator.version>1.4.1</alphanumeric-comparator.version>
<dokka.version>1.4.30</dokka.version>
Expand All @@ -68,7 +67,7 @@
<main-class>org.janelia.saalfeldlab.paintera.Paintera</main-class>
<app.name>Paintera</app.name>
<app.package>paintera</app.package>
<app.version>1.8.0</app.version>
<app.version>1.9.0</app.version>

<jvm.modules>javafx.base,javafx.controls,javafx.fxml,javafx.media,javafx.swing,javafx.web,javafx.graphics,java.naming,java.management,java.sql</jvm.modules>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
Expand All @@ -77,13 +76,11 @@
<macos.sign.identity />

<!-- N5 (Only specify if newer versions available than in pom-scijava) -->
<n5.version>3.3.0</n5.version>
<n5-aws-s3.version>4.2.1</n5-aws-s3.version>
<n5-google-cloud>4.1.1</n5-google-cloud>
<n5-zarr.version>1.3.5</n5-zarr.version>
<imglib2-label-multisets.version>0.15.1</imglib2-label-multisets.version>
<imglib2.version>6.1.0</imglib2.version>
<imglib2-realtransform.version>4.0.1</imglib2-realtransform.version>
<n5-universe.version>2.0.1</n5-universe.version>
<n5-google-cloud.version>4.1.2</n5-google-cloud.version>
<n5-aws-s3.version>4.2.2</n5-aws-s3.version>
<n5-zarr.version>1.4.0</n5-zarr.version>
<n5.version>3.3.1-SNAPSHOT</n5.version>

<maven-compiler-plugin.version>3.13.0</maven-compiler-plugin.version>
<enforcer.skip>true</enforcer.skip>
Expand Down Expand Up @@ -115,6 +112,12 @@
<groupId>org.janelia.saalfeldlab</groupId>
<artifactId>n5-universe</artifactId>
<version>${n5-universe.version}</version>
<exclusions>
<exclusion>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</exclusion>
</exclusions>
</dependency>

<dependency>
Expand Down Expand Up @@ -488,46 +491,28 @@

<!-- Tests-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>${junit-jupiter.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-test-junit</artifactId>
<version>${kotlin.version}</version>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit-jupiter.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testfx</groupId>
<artifactId>testfx-junit</artifactId>
<version>4.0.16-alpha</version>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>${junit-jupiter.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testfx</groupId>
<artifactId>openjfx-monocle</artifactId>
<version>21.0.2</version>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-test-junit5</artifactId>
<version>${kotlin.version}</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.openjfx</groupId>
<artifactId>javafx-base</artifactId>
</exclusion>
<exclusion>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
</exclusion>
<exclusion>
<groupId>org.openjfx</groupId>
<artifactId>javafx-graphics</artifactId>
</exclusion>
<exclusion>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.controlsfx</groupId>
Expand Down Expand Up @@ -680,19 +665,17 @@
<filtering>true</filtering>
</resource>
</resources>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<forkCount>1</forkCount>
<argLine>-Dtestfx.robot=glass -Dglass.platform=Monocle -Dmonocle.platform=Headless -Dprism.order=sw</argLine>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludes>
<exclude>**PainteraBaseViewTest**</exclude>
<exclude>**SplashScreenTest**</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
Expand Down Expand Up @@ -924,6 +907,20 @@
</plugins>
</build>
<profiles>
<profile>
<id>run-ui-tests</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludes combine.self="override" />
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>build-installer</id>
<properties>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
import io.github.oshai.kotlinlogging.KLogger;
import io.github.oshai.kotlinlogging.KotlinLogging;
import net.imglib2.FinalInterval;
import net.imglib2.IterableInterval;
import net.imglib2.RandomAccessible;
import net.imglib2.RandomAccessibleInterval;
import net.imglib2.Volatile;
Expand Down Expand Up @@ -114,12 +113,6 @@ public class VolatileHierarchyProjector<A extends Volatile<?>, B extends SetZero
*/
protected final FinalInterval sourceInterval;

/**
* A reference to the target image as an iterable. Used for source-less
* operations such as clearing its content.
*/
protected final IterableInterval<B> iterableTarget;

/**
* Executor service to be used for rendering
*/
Expand Down Expand Up @@ -169,8 +162,6 @@ public VolatileHierarchyProjector(
numInvalidLevels = sources.size();
this.mask = mask;

this.iterableTarget = Views.iterable(target);

final int n = Math.max(2, sources.get(0).numDimensions());
final long[] min = new long[n];
final long[] max = new long[n];
Expand Down Expand Up @@ -248,16 +239,13 @@ private void clearUntouchedTargetPixels() {
public boolean map(final boolean clearUntouchedTargetPixels) {

canceled.set(false);

valid = false;

final StopWatch stopWatch = StopWatch.createAndStart();
final IoStatistics iostat = CacheIoTiming.getIoStatistics();
final long startTimeIo = iostat.getIoNanoTime();
final long startTimeIoCumulative = iostat.getCumulativeIoNanoTime();

valid = false;

int resolutionLevel;
/*
* After the for loop, resolutionLevel is the highest (coarsest)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -960,10 +960,8 @@ private static <T> void prefetch(
hints = new CacheHints(LoadingStrategy.VOLATILE, d.getQueuePriority(), false);
}
cellImg.setCacheHints(hints);
final int[] cellDimensions = new int[3];
cellImg.getCellGrid().cellDimensions(cellDimensions);
final long[] dimensions = new long[3];
cellImg.dimensions(dimensions);
final int[] cellDimensions = cellImg.getCellGrid().getCellDimensions();
final long[] dimensions = cellImg.dimensionsAsLongArray();
final RandomAccess<?> cellsRandomAccess = cellImg.getCells().randomAccess();

final AffineTransform3D sourceToScreen = viewerTransform.copy();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,4 +67,9 @@ public RealRandomAccess<T> realRandomAccess(final RealInterval interval) {

return src.realRandomAccess(interval);
}

@Override public T getType() {

return src.getType();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,6 @@ public B get() {
@Override
public ConvertedRandomAccess<A, B> copy() {

return new ConvertedRandomAccess<>(source.copyRandomAccess(), converter, supplier);
return new ConvertedRandomAccess<>(source.copy(), converter, supplier);
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ public abstract class AbstractOutOfBoundsValue<T> extends AbstractLocalizable im
protected AbstractOutOfBoundsValue(final AbstractOutOfBoundsValue<T> outOfBounds) {

super(outOfBounds.numDimensions());
this.sampler = outOfBounds.sampler.copyRandomAccess();
this.sampler = outOfBounds.sampler.copy();
dimension = new long[n];
min = new long[n];
max = new long[n];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -321,10 +321,4 @@ public long getLongPosition(final int d) {

return Math.round(position[d]);
}

@Override
public RealRandomAccess<T> copyRealRandomAccess() {

return sampler.copyRealRandomAccess();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,7 @@ protected OutOfBoundsConstantValue(final OutOfBoundsConstantValue<T> outOfBounds
this.value = outOfBounds.valueSupplier.get();
}

public <F extends Interval & RandomAccessible<T>> OutOfBoundsConstantValue(final F f, final Supplier<T>
valueSupplier) {
public <F extends Interval & RandomAccessible<T>> OutOfBoundsConstantValue(final F f, final Supplier<T> valueSupplier) {

super(f);
this.valueSupplier = valueSupplier;
Expand All @@ -69,7 +68,6 @@ public <F extends Interval & RandomAccessible<T>> OutOfBoundsConstantValue(final
/* Sampler */

@Override final public T get() {
// System.out.println( getLocationAsString() + " " + isOutOfBounds );
if (isOutOfBounds) {
return value;
}
Expand All @@ -81,10 +79,4 @@ public <F extends Interval & RandomAccessible<T>> OutOfBoundsConstantValue(final
return new OutOfBoundsConstantValue<>(this);
}

/* RandomAccess */

@Override final public OutOfBoundsConstantValue<T> copyRandomAccess() {

return copy();
}
}
Loading
Loading