From 2e0506a23bb4fc5f57e9a0b9cdd029770bf46651 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Laurent?= <francois.laurent@posteo.net>
Date: Fri, 27 May 2022 10:21:43 +0200
Subject: [PATCH] fixes
 https://gitlab.pasteur.fr/nyx/larvatagger.jl/-/issues/41 on the Python side

---
 src/taggingbackends/data/labels.py       | 5 +++++
 src/taggingbackends/features/skeleton.py | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/taggingbackends/data/labels.py b/src/taggingbackends/data/labels.py
index d6e632a..b8f63be 100644
--- a/src/taggingbackends/data/labels.py
+++ b/src/taggingbackends/data/labels.py
@@ -18,6 +18,11 @@ class Labels:
     @property
     def tracking(self):
         if not all([isinstance(dep, dict) for dep in self._tracking]):
+            if 1 < len(self._tracking):
+                # if any labels file is found, assume the other files are its
+                # data dependencies, and exclude the labels file
+                self._tracking = [dep for dep in self._tracking
+                        if not dep.name.endswith(".labels")]
             self._tracking = [{"filename": dep.name, "sha1": self._checksum(dep)} \
                     for dep in self._tracking]
         return self._tracking
diff --git a/src/taggingbackends/features/skeleton.py b/src/taggingbackends/features/skeleton.py
index e1421c8..d52f458 100644
--- a/src/taggingbackends/features/skeleton.py
+++ b/src/taggingbackends/features/skeleton.py
@@ -8,7 +8,7 @@ def get_5point_spines(spine):
     arrays.
     """
     if isinstance(spine, list):
-        return [get_5point_spines(s) for s in spine]
+        return np.vstack([get_5point_spines(s) for s in spine])
     elif spine.shape[1] == 22:
         return np.hstack([spine[:,0:2], (spine[:,4:6]+spine[:,6:8])/2,
             spine[:,10:12], (spine[:,14:16]+spine[:,16:18])/2, spine[:,20:22]])
-- 
GitLab