From 489fa02d515f58d83a7f73d1dff58f15b4aa7dd9 Mon Sep 17 00:00:00 2001
From: Christopher Rhodes <christopher.rhodes@embl.de>
Date: Mon, 24 Jun 2024 11:32:12 +0200
Subject: [PATCH] Removed model_server. prefix from imports

---
 .idea/model_server.iml                               |  5 ++++-
 model_server/base/accessors.py                       |  4 ++--
 model_server/base/annotators.py                      |  2 +-
 model_server/base/api.py                             | 10 +++++-----
 model_server/base/czi_util.py                        |  2 +-
 model_server/base/models.py                          |  2 +-
 model_server/base/roiset.py                          | 12 ++++++------
 model_server/base/session.py                         |  8 ++++----
 model_server/base/util.py                            |  4 ++--
 model_server/base/validators.py                      |  2 +-
 model_server/base/workflows.py                       |  4 ++--
 model_server/scripts/run_server.py                   |  2 +-
 .../scripts/verify_multichannel_ilastik_inputs.py    |  4 ++--
 tests/test_accessors.py                              |  6 +++---
 tests/test_api.py                                    |  2 +-
 tests/test_model.py                                  |  6 +++---
 tests/test_process.py                                |  5 ++---
 tests/test_roiset.py                                 |  8 ++++----
 tests/test_session.py                                |  4 ++--
 tests/test_workflow.py                               |  6 +++---
 20 files changed, 50 insertions(+), 48 deletions(-)

diff --git a/.idea/model_server.iml b/.idea/model_server.iml
index 167262fe..57c52987 100644
--- a/.idea/model_server.iml
+++ b/.idea/model_server.iml
@@ -1,7 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <module type="PYTHON_MODULE" version="4">
   <component name="NewModuleRootManager">
-    <content url="file://$MODULE_DIR$" />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/model_server" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="false" />
+    </content>
     <orderEntry type="jdk" jdkName="Python 3.9 (model_server_env)" jdkType="Python SDK" />
     <orderEntry type="sourceFolder" forTests="false" />
   </component>
diff --git a/model_server/base/accessors.py b/model_server/base/accessors.py
index 86b6afe4..f74a8048 100644
--- a/model_server/base/accessors.py
+++ b/model_server/base/accessors.py
@@ -8,8 +8,8 @@ from skimage.io import imread, imsave
 import czifile
 import tifffile
 
-from model_server.base.process import make_rgb
-from model_server.base.process import is_mask
+from base.process import make_rgb
+from base.process import is_mask
 
 class GenericImageDataAccessor(ABC):
 
diff --git a/model_server/base/annotators.py b/model_server/base/annotators.py
index f0e1df91..9c13dafb 100644
--- a/model_server/base/annotators.py
+++ b/model_server/base/annotators.py
@@ -2,7 +2,7 @@ import numpy as np
 from matplotlib import font_manager
 from PIL import Image, ImageDraw, ImageFont
 
-from model_server.base.process import rescale
+from base.process import rescale
 
 def _get_font(font_size=18):
     return ImageFont.truetype(
diff --git a/model_server/base/api.py b/model_server/base/api.py
index 13abef8e..22554a06 100644
--- a/model_server/base/api.py
+++ b/model_server/base/api.py
@@ -1,11 +1,11 @@
 from fastapi import FastAPI, HTTPException
 from pydantic import BaseModel
 
-from model_server.base.models import DummyInstanceSegmentationModel, DummySemanticSegmentationModel
-from model_server.base.session import Session, InvalidPathError
-from model_server.base.validators import validate_workflow_inputs
-from model_server.base.workflows import classify_pixels
-from model_server.extensions.ilastik.workflows import infer_px_then_ob_model
+from base.models import DummyInstanceSegmentationModel, DummySemanticSegmentationModel
+from base.session import Session, InvalidPathError
+from base.validators import validate_workflow_inputs
+from base.workflows import classify_pixels
+from extensions.ilastik.workflows import infer_px_then_ob_model
 
 app = FastAPI(debug=True)
 session = Session()
diff --git a/model_server/base/czi_util.py b/model_server/base/czi_util.py
index 6c8c5db8..3facb61a 100644
--- a/model_server/base/czi_util.py
+++ b/model_server/base/czi_util.py
@@ -5,7 +5,7 @@ import czifile
 import numpy as np
 import pandas as pd
 
-from model_server.base.accessors import InMemoryDataAccessor
+from base.accessors import InMemoryDataAccessor
 
 
 def dump_czi_subblock_table(czif: czifile.CziFile, where: Path):
diff --git a/model_server/base/models.py b/model_server/base/models.py
index 228bcb66..264230b9 100644
--- a/model_server/base/models.py
+++ b/model_server/base/models.py
@@ -5,7 +5,7 @@ from typing import Union
 import numpy as np
 from pydantic import BaseModel
 
-from model_server.base.accessors import GenericImageDataAccessor, InMemoryDataAccessor, PatchStack
+from base.accessors import GenericImageDataAccessor, InMemoryDataAccessor, PatchStack
 
 
 class Model(ABC):
diff --git a/model_server/base/roiset.py b/model_server/base/roiset.py
index 68ee831a..847c2551 100644
--- a/model_server/base/roiset.py
+++ b/model_server/base/roiset.py
@@ -14,12 +14,12 @@ from skimage.measure import label, regionprops_table, shannon_entropy, find_cont
 from sklearn.preprocessing import PolynomialFeatures
 from sklearn.linear_model import LinearRegression
 
-from model_server.base.accessors import GenericImageDataAccessor, InMemoryDataAccessor, write_accessor_data_to_file
-from model_server.base.models import InstanceSegmentationModel
-from model_server.base.process import get_safe_contours, pad, rescale, resample_to_8bit, make_rgb
-from model_server.base.annotators import draw_box_on_patch, draw_contours_on_patch, draw_boxes_on_3d_image
-from model_server.base.accessors import generate_file_accessor, PatchStack
-from model_server.base.process import mask_largest_object
+from base.accessors import GenericImageDataAccessor, InMemoryDataAccessor, write_accessor_data_to_file
+from base.models import InstanceSegmentationModel
+from base.process import get_safe_contours, pad, rescale, resample_to_8bit, make_rgb
+from base.annotators import draw_box_on_patch, draw_contours_on_patch, draw_boxes_on_3d_image
+from base.accessors import generate_file_accessor, PatchStack
+from base.process import mask_largest_object
 
 
 class PatchParams(BaseModel):
diff --git a/model_server/base/session.py b/model_server/base/session.py
index 6916f5b6..20987ba5 100644
--- a/model_server/base/session.py
+++ b/model_server/base/session.py
@@ -8,8 +8,8 @@ from typing import Union
 
 import pandas as pd
 
-import model_server.conf.defaults
-from model_server.base.models import Model
+import conf.defaults
+from base.models import Model
 
 logger = logging.getLogger(__name__)
 
@@ -97,13 +97,13 @@ class Session(object, metaclass=Singleton):
         :return: dictionary of session paths
         """
         if root is None:
-            root_path = Path(model_server.conf.defaults.root)
+            root_path = Path(conf.defaults.root)
         else:
             root_path = Path(root)
         sid = Session.create_session_id(root_path)
         paths = {'root': root_path}
         for pk in ['inbound_images', 'outbound_images', 'logs', 'tables']:
-            pa = root_path / sid / model_server.conf.defaults.subdirectories[pk]
+            pa = root_path / sid / conf.defaults.subdirectories[pk]
             paths[pk] = pa
             try:
                 pa.mkdir(parents=True, exist_ok=True)
diff --git a/model_server/base/util.py b/model_server/base/util.py
index 11211883..15a2021c 100644
--- a/model_server/base/util.py
+++ b/model_server/base/util.py
@@ -6,8 +6,8 @@ from typing import List
 
 import pandas as pd
 
-from model_server.base.accessors import InMemoryDataAccessor, write_accessor_data_to_file
-from model_server.base.models import Model
+from base.accessors import InMemoryDataAccessor, write_accessor_data_to_file
+from base.models import Model
 
 def autonumber_new_directory(where: str, prefix: str) -> str:
     """
diff --git a/model_server/base/validators.py b/model_server/base/validators.py
index b4142b0f..c55adb19 100644
--- a/model_server/base/validators.py
+++ b/model_server/base/validators.py
@@ -1,6 +1,6 @@
 from fastapi import HTTPException
 
-from model_server.base.session import Session
+from base.session import Session
 
 session = Session()
 
diff --git a/model_server/base/workflows.py b/model_server/base/workflows.py
index 9ff6f57c..5e712106 100644
--- a/model_server/base/workflows.py
+++ b/model_server/base/workflows.py
@@ -6,8 +6,8 @@ from pathlib import Path
 from time import perf_counter
 from typing import Dict
 
-from model_server.base.accessors import generate_file_accessor, write_accessor_data_to_file
-from model_server.base.models import SemanticSegmentationModel
+from base.accessors import generate_file_accessor, write_accessor_data_to_file
+from base.models import SemanticSegmentationModel
 
 from pydantic import BaseModel
 
diff --git a/model_server/scripts/run_server.py b/model_server/scripts/run_server.py
index 2ca5e559..07236bd9 100644
--- a/model_server/scripts/run_server.py
+++ b/model_server/scripts/run_server.py
@@ -6,7 +6,7 @@ from urllib3 import Retry
 import uvicorn
 import webbrowser
 
-from model_server.conf.defaults import server_conf
+from conf.defaults import server_conf
 
 def parse_args():
     parser = argparse.ArgumentParser(
diff --git a/model_server/scripts/verify_multichannel_ilastik_inputs.py b/model_server/scripts/verify_multichannel_ilastik_inputs.py
index 1159b3f1..ec0e53fa 100644
--- a/model_server/scripts/verify_multichannel_ilastik_inputs.py
+++ b/model_server/scripts/verify_multichannel_ilastik_inputs.py
@@ -4,8 +4,8 @@ import h5py
 import numpy as np
 import pandas as pd
 
-from model_server.base.accessors import generate_file_accessor, write_accessor_data_to_file, InMemoryDataAccessor
-from model_server.extensions.ilastik.models import IlastikPixelClassifierModel, IlastikObjectClassifierFromPixelPredictionsModel
+from base.accessors import generate_file_accessor, write_accessor_data_to_file, InMemoryDataAccessor
+from extensions.ilastik.models import IlastikPixelClassifierModel, IlastikObjectClassifierFromPixelPredictionsModel
 
 def get_input_files(where_ilp: Path) -> list:
     files = []
diff --git a/tests/test_accessors.py b/tests/test_accessors.py
index 014eda2c..1f730c47 100644
--- a/tests/test_accessors.py
+++ b/tests/test_accessors.py
@@ -2,10 +2,10 @@ import unittest
 
 import numpy as np
 
-from model_server.base.accessors import PatchStack, make_patch_stack_from_file, FileNotFoundError
+from base.accessors import PatchStack, make_patch_stack_from_file, FileNotFoundError
 
-from model_server.conf.testing import czifile, output_path, monopngfile, rgbpngfile, tifffile, monozstackmask
-from model_server.base.accessors import CziImageFileAccessor, DataShapeError, generate_file_accessor, InMemoryDataAccessor, PngFileAccessor, write_accessor_data_to_file, TifSingleSeriesFileAccessor
+from conf.testing import czifile, output_path, monopngfile, rgbpngfile, tifffile, monozstackmask
+from base.accessors import CziImageFileAccessor, DataShapeError, generate_file_accessor, InMemoryDataAccessor, PngFileAccessor, write_accessor_data_to_file, TifSingleSeriesFileAccessor
 
 def _random_int(*args):
     return np.random.randint(0, 2 ** 8, size=args, dtype='uint8')
diff --git a/tests/test_api.py b/tests/test_api.py
index 6e336a9c..562982e4 100644
--- a/tests/test_api.py
+++ b/tests/test_api.py
@@ -6,7 +6,7 @@ import requests
 import unittest
 from urllib3 import Retry
 
-from model_server.conf.testing import czifile
+from conf.testing import czifile
 
 
 class TestServerBaseClass(unittest.TestCase):
diff --git a/tests/test_model.py b/tests/test_model.py
index 91043f24..7c0c0ec7 100644
--- a/tests/test_model.py
+++ b/tests/test_model.py
@@ -1,7 +1,7 @@
 import unittest
-from model_server.conf.testing import czifile
-from model_server.base.accessors import CziImageFileAccessor
-from model_server.base.models import DummySemanticSegmentationModel, DummyInstanceSegmentationModel, CouldNotLoadModelError
+from conf.testing import czifile
+from base.accessors import CziImageFileAccessor
+from base.models import DummySemanticSegmentationModel, DummyInstanceSegmentationModel, CouldNotLoadModelError
 
 class TestCziImageFileAccess(unittest.TestCase):
     def setUp(self) -> None:
diff --git a/tests/test_process.py b/tests/test_process.py
index d2fb33b9..63d8bf41 100644
--- a/tests/test_process.py
+++ b/tests/test_process.py
@@ -1,10 +1,9 @@
 import unittest
 
 import numpy as np
-from skimage.measure import find_contours
 
-from model_server.base.annotators import draw_contours_on_patch
-from model_server.base.process import get_safe_contours, mask_largest_object, pad
+from base.annotators import draw_contours_on_patch
+from base.process import get_safe_contours, mask_largest_object, pad
 
 class TestProcessingUtilityMethods(unittest.TestCase):
     def setUp(self) -> None:
diff --git a/tests/test_roiset.py b/tests/test_roiset.py
index 98e07ef2..c798fa8b 100644
--- a/tests/test_roiset.py
+++ b/tests/test_roiset.py
@@ -9,10 +9,10 @@ import pandas as pd
 
 from model_server.conf.testing import output_path, roiset_test_data
 
-from model_server.base.roiset import RoiSetExportParams, RoiSetMetaParams
-from model_server.base.roiset import RoiSet
-from model_server.base.accessors import generate_file_accessor, InMemoryDataAccessor, write_accessor_data_to_file, PatchStack
-from model_server.base.models import DummyInstanceSegmentationModel
+from base.roiset import RoiSetExportParams, RoiSetMetaParams
+from base.roiset import RoiSet
+from base.accessors import generate_file_accessor, InMemoryDataAccessor, write_accessor_data_to_file, PatchStack
+from base.models import DummyInstanceSegmentationModel
 
 class BaseTestRoiSetMonoProducts(object):
 
diff --git a/tests/test_session.py b/tests/test_session.py
index 7626faa6..ce49dbce 100644
--- a/tests/test_session.py
+++ b/tests/test_session.py
@@ -3,8 +3,8 @@ import pathlib
 from pydantic import BaseModel
 import unittest
 
-from model_server.base.models import DummySemanticSegmentationModel
-from model_server.base.session import Session
+from base.models import DummySemanticSegmentationModel
+from base.session import Session
 
 class TestGetSessionObject(unittest.TestCase):
     def setUp(self) -> None:
diff --git a/tests/test_workflow.py b/tests/test_workflow.py
index 6e9603ea..cc66cf21 100644
--- a/tests/test_workflow.py
+++ b/tests/test_workflow.py
@@ -1,8 +1,8 @@
 import unittest
 
-from model_server.conf.testing import czifile, output_path
-from model_server.base.models import DummySemanticSegmentationModel
-from model_server.base.workflows import classify_pixels
+from conf.testing import czifile, output_path
+from base.models import DummySemanticSegmentationModel
+from base.workflows import classify_pixels
 
 
 class TestGetSessionObject(unittest.TestCase):
-- 
GitLab