From a2228903b32aa9cb793e51a8aaadc7c5bc2afa7f Mon Sep 17 00:00:00 2001 From: VictorDidier <68292394+VictorDidier@users.noreply.github.com> Date: Fri, 10 Oct 2025 11:44:33 +0200 Subject: [PATCH 01/21] rework of original background substraction (#24) * rework of tool,added backsub dir * added log * added logger and ome metadata writing * Update CLI.py Corrected the help description for the pyramid_levels argument * ome-xml encoded as utf-8 & output markers_bs.csv * encoded xml-ome string as utf-8 * added saveRam argument * improved lazy loading of tiff images * changed chunksize * prefinal-version * added hidden argument tspc-comet * final rework * moved environment.yml to root folder,edited Dockerfile --- Dockerfile | 36 +- README.md | 34 +- backsub/CLI.py | 108 ++++++ backsub/__init__.py | 0 backsub/__pycache__/CLI.cpython-312.pyc | Bin 0 -> 3507 bytes .../metadata2markers_table.cpython-312.pyc | Bin 0 -> 5381 bytes .../__pycache__/ome_schema.cpython-312.pyc | Bin 0 -> 5724 bytes .../__pycache__/ome_writer.cpython-312.pyc | Bin 0 -> 2318 bytes backsub/background_sub.py | 355 ++++++++++++++++++ backsub/metadata2markers_table.py | 129 +++++++ backsub/ome_schema.py | 166 ++++++++ backsub/ome_writer.py | 44 +++ environment.yml | 22 +- 13 files changed, 861 insertions(+), 33 deletions(-) create mode 100644 backsub/CLI.py create mode 100644 backsub/__init__.py create mode 100644 backsub/__pycache__/CLI.cpython-312.pyc create mode 100644 backsub/__pycache__/metadata2markers_table.cpython-312.pyc create mode 100644 backsub/__pycache__/ome_schema.cpython-312.pyc create mode 100644 backsub/__pycache__/ome_writer.cpython-312.pyc create mode 100644 backsub/background_sub.py create mode 100644 backsub/metadata2markers_table.py create mode 100644 backsub/ome_schema.py create mode 100644 backsub/ome_writer.py diff --git a/Dockerfile b/Dockerfile index 91574fc..db580d2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,13 +1,23 @@ -FROM continuumio/miniconda3 - -COPY environment.yml . -RUN apt-get update -qq && apt-get install -y \ - build-essential \ - ffmpeg \ - libsm6 \ - libxext6 - -RUN conda env create -f environment.yml -ENV PATH="/opt/conda/envs/backsub/bin:$PATH" -WORKDIR /background_subtraction -COPY . . \ No newline at end of file +FROM mambaorg/micromamba:1.5.10-noble + +# Copy conda environment file +COPY --chown=$MAMBA_USER:$MAMBA_USER ./environment.yml /tmp/conda.yml + +# Install environment +RUN micromamba install -y -n base -f /tmp/conda.yml \ + && micromamba install -y -n base conda-forge::procps-ng \ + && micromamba env export --name base --explicit > environment.lock \ + && echo ">> CONDA_LOCK_START" \ + && cat environment.lock \ + && echo "<< CONDA_LOCK_END" \ + && micromamba clean -a -y + +# Switch to root to copy everything +USER root + +# Ensure micromamba binaries are in PATH +ENV PATH="$MAMBA_ROOT_PREFIX/bin:$PATH" + +# Copy the rest of the current directory into /app inside the container +WORKDIR /app +COPY ./backsub . \ No newline at end of file diff --git a/README.md b/README.md index 03b7f18..f970494 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,17 @@ Marker*corrected* = Marker*raw* - Background / Exposure