diff --git a/modules/CommonGUI/src/main/resources/org/janelia/workstation/common/release_notes/curr_release.txt b/modules/CommonGUI/src/main/resources/org/janelia/workstation/common/release_notes/curr_release.txt index 67892a1da..fd5ef3562 100644 --- a/modules/CommonGUI/src/main/resources/org/janelia/workstation/common/release_notes/curr_release.txt +++ b/modules/CommonGUI/src/main/resources/org/janelia/workstation/common/release_notes/curr_release.txt @@ -1,6 +1,4 @@ -// 9.20.1 +// 9.21 Horta -* Added "deeplink" functionality, that allows the creation of a positional cross-sample bookmark in Horta3D -* Added protections for Null Zarr Actors in Horta3D -* Removed stable branch to simplify deployment +* Adjusted SWC export to be compliant with new specification diff --git a/modules/CommonGUI/src/main/resources/org/janelia/workstation/common/release_notes/prev_releases.txt b/modules/CommonGUI/src/main/resources/org/janelia/workstation/common/release_notes/prev_releases.txt index 6100dcee1..e1ffd465c 100644 --- a/modules/CommonGUI/src/main/resources/org/janelia/workstation/common/release_notes/prev_releases.txt +++ b/modules/CommonGUI/src/main/resources/org/janelia/workstation/common/release_notes/prev_releases.txt @@ -1,3 +1,10 @@ +// 9.20.1 + +Horta +* Added "deeplink" functionality, that allows the creation of a positional cross-sample bookmark in Horta3D +* Added protections for Null Zarr Actors in Horta3D +* Removed stable branch to simplify deployment + // 9.19.1 Horta diff --git a/modules/Viewer3D/src/main/java/org/janelia/workstation/swc/SWCDataConverter.java b/modules/Viewer3D/src/main/java/org/janelia/workstation/swc/SWCDataConverter.java index b046afe0d..3a97d1cff 100644 --- a/modules/Viewer3D/src/main/java/org/janelia/workstation/swc/SWCDataConverter.java +++ b/modules/Viewer3D/src/main/java/org/janelia/workstation/swc/SWCDataConverter.java @@ -367,17 +367,12 @@ private List nodesFromSubtrees(TmNeuronMetadata neuron, double xcenter, } private static SWCNode.SegmentType getSegmentType(TmGeoAnnotation ann) { - SWCNode.SegmentType segmentType; - // only marking "fork" and "end, as that's - // all we can surmise from geometry - if (ann.getChildIds().size() == 0) { - segmentType = SWCNode.SegmentType.end_point; - } else if (ann.getChildIds().size() > 1) { - segmentType = SWCNode.SegmentType.fork_point; - } else { - segmentType = SWCNode.SegmentType.undefined; - } - return segmentType; + // historical note: before the spec linked at top existed, we marked + // branches and endpoints as type 5 and 6; we currently + // do not classify nodes at all, but I'm leaving this method here in + // case we decide to add that capability back in the future + + return SWCNode.SegmentType.undefined; } private double[] calcDefaultCenterOfMass(double[] rtnVal) { diff --git a/modules/Viewer3D/src/main/java/org/janelia/workstation/swc/SWCNode.java b/modules/Viewer3D/src/main/java/org/janelia/workstation/swc/SWCNode.java index 8ff516b21..af5c45fa6 100644 --- a/modules/Viewer3D/src/main/java/org/janelia/workstation/swc/SWCNode.java +++ b/modules/Viewer3D/src/main/java/org/janelia/workstation/swc/SWCNode.java @@ -6,14 +6,21 @@ /** * used by the SWCData class to hold each point in the neuron * - * see http://research.mssm.edu/cnic/swc.html; node holds info + * see https://swc-specification.readthedocs.io/en/latest/; node holds info * from one line in SWC file */ public class SWCNode { private static final Map decodeToSegment = new HashMap<>(); public static enum SegmentType { - undefined(0), soma(1), axon(2), dendrite(3), apical_dendrite(4), fork_point(5), end_point(6), custom(7); + undefined(0), + soma(1), + axon(2), + basal_dendrite(3), + apical_dendrite(4), + custom(5), + unspecified_neurite(6), + glia_process(7); private int decodeNum; public static SegmentType getSegmentType( String typeName ) {