From 5d04888bad526c0c86ee8e45030e7364e0bdcd12 Mon Sep 17 00:00:00 2001
From: Christopher Rhodes <christopher.rhodes@embl.de>
Date: Tue, 13 Aug 2024 16:17:42 +0200
Subject: [PATCH] Expose method to get dataframe in a format that is
 JSON-serializable

---
 model_server/base/roiset.py | 5 ++++-
 tests/base/test_roiset.py   | 1 -
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/model_server/base/roiset.py b/model_server/base/roiset.py
index e7b72ec6..d41056ba 100644
--- a/model_server/base/roiset.py
+++ b/model_server/base/roiset.py
@@ -538,9 +538,12 @@ class RoiSet(object):
 
         return InMemoryDataAccessor(om)
 
+    def get_serializable_dataframe(self) -> pd.DataFrame:
+        return self._df.drop(['expanded_slice', 'slice', 'relative_slice', 'binary_mask'], axis=1)
+
     def export_dataframe(self, csv_path: Path) -> str:
         csv_path.parent.mkdir(parents=True, exist_ok=True)
-        self._df.drop(['expanded_slice', 'slice', 'relative_slice', 'binary_mask'], axis=1).to_csv(csv_path, index=False)
+        self.get_serializable_dataframe().to_csv(csv_path, index=False)
         return csv_path.name
 
 
diff --git a/tests/base/test_roiset.py b/tests/base/test_roiset.py
index 965d74d3..cf52835e 100644
--- a/tests/base/test_roiset.py
+++ b/tests/base/test_roiset.py
@@ -5,7 +5,6 @@ import numpy as np
 from pathlib import Path
 
 import pandas as pd
-from skimage import draw
 
 from model_server.base.roiset import filter_df_overlap_bbox, filter_df_overlap_seg, RoiSetExportParams, RoiSetMetaParams
 from model_server.base.roiset import RoiSet
-- 
GitLab