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