diff --git a/pom.xml b/pom.xml index c2b0b85b5d9f898309cbd7356bac2f02a9692128..147ba62f201105d32cbd4fe226f471b08438eff9 100644 --- a/pom.xml +++ b/pom.xml @@ -8,18 +8,18 @@ <parent> <artifactId>pom-icy</artifactId> <groupId>org.bioimageanalysis.icy</groupId> - <version>2.0.0</version> + <version>2.1.0</version> </parent> <!-- Project Information --> <artifactId>msd-track-processor</artifactId> - <version>1.1.3</version> + <version>1.1.4-SNAPSHOT</version> <packaging>jar</packaging> <name>MSD Track Processor</name> <description>Track Processor computing the MSD (Mean Square Displacement).</description> - <url>http://icy.bioimageanalysis.org/plugin/track-processor-msd/</url> + <url>https://icy.bioimageanalysis.org/plugin/track-processor-msd/</url> <inceptionYear>2020</inceptionYear> <organization> @@ -58,52 +58,31 @@ </properties> - <profiles> - <profile> - <id>icy-plugin</id> - <activation> - <activeByDefault>true</activeByDefault> - </activation> - </profile> - </profiles> - <!-- List of project's dependencies --> <dependencies> - <!-- The core of Icy --> - <dependency> - <groupId>org.bioimageanalysis.icy</groupId> - <artifactId>icy-kernel</artifactId> - <version>${icy-kernel.version}</version> - </dependency> - <dependency> <groupId>org.bioimageanalysis.icy</groupId> <artifactId>jfreechart</artifactId> - <version>${jfreechart.version}</version> </dependency> <dependency> <groupId>net.sourceforge.jexcelapi</groupId> <artifactId>jxl</artifactId> - <version>${jxl.version}</version> </dependency> <dependency> <groupId>org.bioimageanalysis.icy</groupId> <artifactId>spot-detection-utilities</artifactId> - <version>${spot-detection-utilities.version}</version> </dependency> <dependency> <groupId>org.bioimageanalysis.icy</groupId> <artifactId>distance-profiler</artifactId> - <version>${distance-profiler.version}</version> </dependency> <dependency> <groupId>org.bioimageanalysis.icy</groupId> <artifactId>track-manager</artifactId> - <version>${track-manager.version}</version> </dependency> </dependencies> diff --git a/src/main/java/plugins/fab/trackmanager/processors/TrackProcessorMSD.java b/src/main/java/plugins/fab/trackmanager/processors/TrackProcessorMSD.java index 2f1fac8c4a5f44ececd3659c1d1a424b21ea1038..0d469d39bea939dee1c9013a07f0e0e9950af943 100644 --- a/src/main/java/plugins/fab/trackmanager/processors/TrackProcessorMSD.java +++ b/src/main/java/plugins/fab/trackmanager/processors/TrackProcessorMSD.java @@ -238,7 +238,9 @@ public class TrackProcessorMSD extends PluginTrackManagerProcessor implements Ac if (useRealScalesBox.isSelected()) { int cnt = 0; - int row = 0; + int row = 1; // Start from 1 because of table head + int cols = 0; + for (TrackSegment ts : trackPool.getTrackSegmentList()) { // Better to allow partially clipped tracks otherwise we cannot get MSD for them (Stephane) @@ -249,6 +251,10 @@ public class TrackProcessorMSD extends PluginTrackManagerProcessor implements Ac if (msd.length > 0) { + // Get max cols for the table + if (msd.length > cols) + cols = msd.length; + System.out.println("track " + cnt); if (page != null) @@ -268,11 +274,22 @@ public class TrackProcessorMSD extends PluginTrackManagerProcessor implements Ac } } } + + // Write table head + if (page != null) { + XLSUtil.setCellString(page, 0, 0, "frame"); + if (cols > 0) { + for (int c = 0; c < cols; c++) { + XLSUtil.setCellString(page, c+1, 0, String.valueOf(c)); + } + } + } } else { int cnt = 0; - int row = 0; + int row = 1; // Start from 1 because of table head + int cols = 0; for (TrackSegment ts : trackPool.getTrackSegmentList()) { @@ -284,6 +301,10 @@ public class TrackProcessorMSD extends PluginTrackManagerProcessor implements Ac if (msd.length > 0) { + // Get max cols for the table + if (msd.length > cols) + cols = msd.length; + System.out.println("track " + cnt); if (page != null) @@ -302,6 +323,16 @@ public class TrackProcessorMSD extends PluginTrackManagerProcessor implements Ac } } } + + // Write table head + if (page != null) { + XLSUtil.setCellString(page, 0, 0, "frame"); + if (cols > 0) { + for (int c = 0; c < cols; c++) { + XLSUtil.setCellString(page, c+1, 0, String.valueOf(c)); + } + } + } } if (workbook != null)