flimkit 0.13.6__tar.gz → 0.13.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {flimkit-0.13.6 → flimkit-0.13.7}/PKG-INFO +5 -29
- {flimkit-0.13.6 → flimkit-0.13.7}/README.md +4 -28
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/UI/roi_tools.py +1 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/_version.py +2 -1
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit.egg-info/PKG-INFO +5 -29
- {flimkit-0.13.6 → flimkit-0.13.7}/LICENSE.md +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/FLIM/__init__.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/FLIM/assemble.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/FLIM/batch.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/FLIM/bg_tools.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/FLIM/fit_tools.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/FLIM/fitters.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/FLIM/irf_tools.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/FLIM/models.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/GPU/__init__.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/GPU/_base.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/GPU/cuda.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/GPU/mlx_backend.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/GPU/mps.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/GPU/rocm.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/GPU/torch_backend.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/UI/app_state.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/UI/controller.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/UI/expert_settings.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/UI/fit_help.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/UI/fov_preview.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/UI/gui.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/UI/icon.icns +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/UI/icon.ico +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/UI/icon.png +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/UI/irf_widget.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/UI/mode_controller.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/UI/modes/__init__.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/UI/modes/base.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/UI/modes/batch_mode.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/UI/modes/fov_mode.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/UI/modes/irf_mode.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/UI/modes/phasor_mode.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/UI/modes/stitch_mode.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/UI/phasor_panel.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/UI/progress_window.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/UI/project_panel.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/UI/results_panel.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/UI/utils.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/__init__.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/cli.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/configs.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/dialogs.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/formats/BH/__init__.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/formats/BH/reader.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/formats/BH/writer.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/formats/ISS/__init__.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/formats/ISS/fdflim.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/formats/ISS/image.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/formats/ISS/reader.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/formats/PS/__init__.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/formats/PS/reader.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/formats/PTU/__init__.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/formats/PTU/decode.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/formats/PTU/phu.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/formats/PTU/reader.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/formats/PTU/series.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/formats/PTU/stitch.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/formats/PTU/tools.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/formats/__init__.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/formats/flim_file.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/formats/phasor.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/formats/signal.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/image/tools.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/interactive.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/mpl_backend.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/phasor/__init__.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/phasor/filters.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/phasor/fret.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/phasor/interactive.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/phasor/peaks.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/phasor/signal.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/phasor_launcher.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/plugins/__init__.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/plugins/bindings.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/plugins/builtin/__init__.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/plugins/builtin/core_tools.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/plugins/loader.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/plugins/registry.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/project.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/synth.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/utils/__init__.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/utils/apply_settings.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/utils/batch_fit.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/utils/config_manager.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/utils/config_snapshot.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/utils/crash_handler.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/utils/display.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/utils/enhanced_outputs.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/utils/fancy.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/utils/lifetime_image.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/utils/misc.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/utils/ome_zarr.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/utils/plotting.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/utils/roi.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/utils/session.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/utils/update_check.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/utils/xlsx_tools.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit/utils/xml_utils.py +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit.egg-info/SOURCES.txt +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit.egg-info/dependency_links.txt +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit.egg-info/entry_points.txt +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit.egg-info/requires.txt +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/flimkit.egg-info/top_level.txt +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/pyproject.toml +0 -0
- {flimkit-0.13.6 → flimkit-0.13.7}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flimkit
|
|
3
|
-
Version: 0.13.
|
|
3
|
+
Version: 0.13.7
|
|
4
4
|
Summary: Fluorescence lifetime imaging analysis: reading, fitting, phasors and stitching
|
|
5
5
|
Author-email: Alex Hunt <alexander.hunt@ed.ac.uk>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -133,45 +133,21 @@ python install.py --dev
|
|
|
133
133
|
|
|
134
134
|
## Docker / TrueNAS SCALE
|
|
135
135
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
**Pull and run:**
|
|
136
|
+
Pre-built images are on Docker Hub as `alex1075/flimkit`. They run FLIMKit with the [web UI](https://github.com/FLIMKit/flimkit-web-ui), so the whole app is used from a browser with nothing installed on the client.
|
|
139
137
|
|
|
140
138
|
```bash
|
|
141
139
|
docker run -d \
|
|
142
140
|
-p 14500:14500 \
|
|
143
141
|
-e FLIMKIT_PASSWORD=choose-a-password \
|
|
144
142
|
-v /path/to/your/data:/data \
|
|
145
|
-
-v /path/to/flimkit-config:/
|
|
143
|
+
-v /path/to/flimkit-config:/config \
|
|
146
144
|
--name flimkit \
|
|
147
145
|
alex1075/flimkit:latest
|
|
148
146
|
```
|
|
149
147
|
|
|
150
|
-
Then open
|
|
151
|
-
|
|
152
|
-
| Variable | Default | Effect |
|
|
153
|
-
|---|---|---|
|
|
154
|
-
| `FLIMKIT_PASSWORD` | not set | Password for the web UI (user `flimkit`) and for the desktop view. Without it, anyone who can reach the port can use FLIMKit and browse `/data`. |
|
|
155
|
-
| `FLIMKIT_DESKTOP` | `0` | Set to `1` to also serve the full desktop through noVNC on port 14501, for the few windows the web UI does not cover. Publish that port too. |
|
|
156
|
-
| `FLIMKIT_GEOMETRY` | `1440x900` | Size of the virtual screen FLIMKit draws on |
|
|
157
|
-
| `TZ` | `Etc/UTC` | Time zone for log timestamps |
|
|
158
|
-
|
|
159
|
-
The container reports healthy once the web UI answers on `/healthz`.
|
|
160
|
-
|
|
161
|
-
**TrueNAS SCALE (Custom App):**
|
|
162
|
-
|
|
163
|
-
1. Apps → Discover Apps → Custom App
|
|
164
|
-
2. Paste the contents of `docker/docker-compose.yaml` from this repo
|
|
165
|
-
3. Edit the volume paths to match your pool (e.g. `/mnt/tank/microscopy:/data`) and uncomment `FLIMKIT_PASSWORD` with a password of your own
|
|
166
|
-
4. Deploy - TrueNAS will pull the image automatically
|
|
167
|
-
|
|
168
|
-
**Build from source** (required if you want to push your own changes):
|
|
169
|
-
|
|
170
|
-
```bash
|
|
171
|
-
python docker/build_docker.py # builds linux/amd64, pushes to Docker Hub
|
|
172
|
-
```
|
|
148
|
+
Then open http://localhost:14500 and log in as `flimkit` with that password.
|
|
173
149
|
|
|
174
|
-
|
|
150
|
+
The images are built in [flimkit-docker](https://github.com/FLIMKit/flimkit-docker), which lists the tags (Cellpose, CUDA, ROCm, the noVNC desktop and the headless bridge images), the settings, the compose file for a TrueNAS SCALE custom app, and how to build one yourself.
|
|
175
151
|
|
|
176
152
|
## Usage
|
|
177
153
|
|
|
@@ -71,45 +71,21 @@ python install.py --dev
|
|
|
71
71
|
|
|
72
72
|
## Docker / TrueNAS SCALE
|
|
73
73
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
**Pull and run:**
|
|
74
|
+
Pre-built images are on Docker Hub as `alex1075/flimkit`. They run FLIMKit with the [web UI](https://github.com/FLIMKit/flimkit-web-ui), so the whole app is used from a browser with nothing installed on the client.
|
|
77
75
|
|
|
78
76
|
```bash
|
|
79
77
|
docker run -d \
|
|
80
78
|
-p 14500:14500 \
|
|
81
79
|
-e FLIMKIT_PASSWORD=choose-a-password \
|
|
82
80
|
-v /path/to/your/data:/data \
|
|
83
|
-
-v /path/to/flimkit-config:/
|
|
81
|
+
-v /path/to/flimkit-config:/config \
|
|
84
82
|
--name flimkit \
|
|
85
83
|
alex1075/flimkit:latest
|
|
86
84
|
```
|
|
87
85
|
|
|
88
|
-
Then open
|
|
89
|
-
|
|
90
|
-
| Variable | Default | Effect |
|
|
91
|
-
|---|---|---|
|
|
92
|
-
| `FLIMKIT_PASSWORD` | not set | Password for the web UI (user `flimkit`) and for the desktop view. Without it, anyone who can reach the port can use FLIMKit and browse `/data`. |
|
|
93
|
-
| `FLIMKIT_DESKTOP` | `0` | Set to `1` to also serve the full desktop through noVNC on port 14501, for the few windows the web UI does not cover. Publish that port too. |
|
|
94
|
-
| `FLIMKIT_GEOMETRY` | `1440x900` | Size of the virtual screen FLIMKit draws on |
|
|
95
|
-
| `TZ` | `Etc/UTC` | Time zone for log timestamps |
|
|
96
|
-
|
|
97
|
-
The container reports healthy once the web UI answers on `/healthz`.
|
|
98
|
-
|
|
99
|
-
**TrueNAS SCALE (Custom App):**
|
|
100
|
-
|
|
101
|
-
1. Apps → Discover Apps → Custom App
|
|
102
|
-
2. Paste the contents of `docker/docker-compose.yaml` from this repo
|
|
103
|
-
3. Edit the volume paths to match your pool (e.g. `/mnt/tank/microscopy:/data`) and uncomment `FLIMKIT_PASSWORD` with a password of your own
|
|
104
|
-
4. Deploy - TrueNAS will pull the image automatically
|
|
105
|
-
|
|
106
|
-
**Build from source** (required if you want to push your own changes):
|
|
107
|
-
|
|
108
|
-
```bash
|
|
109
|
-
python docker/build_docker.py # builds linux/amd64, pushes to Docker Hub
|
|
110
|
-
```
|
|
86
|
+
Then open http://localhost:14500 and log in as `flimkit` with that password.
|
|
111
87
|
|
|
112
|
-
|
|
88
|
+
The images are built in [flimkit-docker](https://github.com/FLIMKit/flimkit-docker), which lists the tags (Cellpose, CUDA, ROCm, the noVNC desktop and the headless bridge images), the settings, the compose file for a TrueNAS SCALE custom app, and how to build one yourself.
|
|
113
89
|
|
|
114
90
|
## Usage
|
|
115
91
|
|
|
@@ -754,6 +754,7 @@ class RoiAnalysisPanel:
|
|
|
754
754
|
region_obj['statistics'] = stats
|
|
755
755
|
key = tuple(sorted(result.get('region_ids', [result['region_id']])))
|
|
756
756
|
self._last_fit_results[key] = result
|
|
757
|
+
self.fov_preview._save_regions_update()
|
|
757
758
|
self._refresh_region_list()
|
|
758
759
|
self._show_roi_fit_result(result)
|
|
759
760
|
self.run_with_progress(
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
__version__ = '0.13.
|
|
1
|
+
__version__ = '0.13.7'
|
|
2
2
|
fitter_version = '21'
|
|
3
3
|
|
|
4
4
|
roadmap = '''Flim program roadmap:
|
|
@@ -45,5 +45,6 @@ Need to add Phasor once added to the codebase, and update version to 1.0. And ad
|
|
|
45
45
|
0.13.4 -> the desktop GUI no longer dies on a Tk 9 interpreter when the Sun Valley theme fails to load. Tk 9 on macOS queues an idle handler when a root window is created and does not cancel it when that root is destroyed, so the fallback path, which threw the themed root away and built a second one, segfaulted inside showRootWindow on the first update_idletasks rather than opening a window. The fallback now reuses the root the themed attempt had already built, clearing its children, because only the theme had failed and the window itself was sound. Tk 8.6 survived the destroy and rebuild, which is why this only showed up on a fresh install. No fitted number changes, so fitter_version stays at 20.
|
|
46
46
|
0.13.5 -> the Docker images serve FLIMKit through flimkit-web-ui instead of streaming the desktop over noVNC. Port 14500 opens the web page, which drives the same Tk window on the virtual display, so a TrueNAS app keeps its address. FLIMKIT_PASSWORD protects the page with HTTP Basic authentication, the noVNC desktop stays available behind FLIMKIT_DESKTOP=1 on port 14501, and the images gain a /healthz health check. docker-compose.yaml mounts the config at /root/.flimkit, where FLIMKit reads it, rather than at /config, which nothing read. No fitted number changes, so fitter_version stays at 20.
|
|
47
47
|
0.13.6 -> Apply fit settings copies one file's fit and display settings to the others in a project, and the intensity image gets its own range and colormap controls. Z-stack and timelapse fits apply the fit window, exclusion bands, IRF shift bound and binning from Expert Settings and the CLI, which they used to ignore, so fitter_version goes to 21; fits with the defaults are unchanged. Phasor sessions keep their cursors, polygons and filter across a reload instead of being overwritten, a default machine IRF can be set in Preferences, OME-TIFF export keeps photon counts, and plugin phasor filters appear in Phasor Analysis. The documentation gains a step-by-step guide and a page per add-on.
|
|
48
|
+
0.13.7 -> Fit ROI Decay saves its result to the session file as soon as it finishes; the lifetimes it wrote into a region used to be lost if FLIMKit closed before something else saved the session. The guide says what an ROI re-fit uses, and the QuPath extension installs from its catalog. No fitted number changes, so fitter_version stays at 21.
|
|
48
49
|
1.0.0 -> release version with all core features implemented and tested
|
|
49
50
|
1.5.0 (or 2.0) -> validation of fitting results with known fluorophores.'''
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flimkit
|
|
3
|
-
Version: 0.13.
|
|
3
|
+
Version: 0.13.7
|
|
4
4
|
Summary: Fluorescence lifetime imaging analysis: reading, fitting, phasors and stitching
|
|
5
5
|
Author-email: Alex Hunt <alexander.hunt@ed.ac.uk>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -133,45 +133,21 @@ python install.py --dev
|
|
|
133
133
|
|
|
134
134
|
## Docker / TrueNAS SCALE
|
|
135
135
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
**Pull and run:**
|
|
136
|
+
Pre-built images are on Docker Hub as `alex1075/flimkit`. They run FLIMKit with the [web UI](https://github.com/FLIMKit/flimkit-web-ui), so the whole app is used from a browser with nothing installed on the client.
|
|
139
137
|
|
|
140
138
|
```bash
|
|
141
139
|
docker run -d \
|
|
142
140
|
-p 14500:14500 \
|
|
143
141
|
-e FLIMKIT_PASSWORD=choose-a-password \
|
|
144
142
|
-v /path/to/your/data:/data \
|
|
145
|
-
-v /path/to/flimkit-config:/
|
|
143
|
+
-v /path/to/flimkit-config:/config \
|
|
146
144
|
--name flimkit \
|
|
147
145
|
alex1075/flimkit:latest
|
|
148
146
|
```
|
|
149
147
|
|
|
150
|
-
Then open
|
|
151
|
-
|
|
152
|
-
| Variable | Default | Effect |
|
|
153
|
-
|---|---|---|
|
|
154
|
-
| `FLIMKIT_PASSWORD` | not set | Password for the web UI (user `flimkit`) and for the desktop view. Without it, anyone who can reach the port can use FLIMKit and browse `/data`. |
|
|
155
|
-
| `FLIMKIT_DESKTOP` | `0` | Set to `1` to also serve the full desktop through noVNC on port 14501, for the few windows the web UI does not cover. Publish that port too. |
|
|
156
|
-
| `FLIMKIT_GEOMETRY` | `1440x900` | Size of the virtual screen FLIMKit draws on |
|
|
157
|
-
| `TZ` | `Etc/UTC` | Time zone for log timestamps |
|
|
158
|
-
|
|
159
|
-
The container reports healthy once the web UI answers on `/healthz`.
|
|
160
|
-
|
|
161
|
-
**TrueNAS SCALE (Custom App):**
|
|
162
|
-
|
|
163
|
-
1. Apps → Discover Apps → Custom App
|
|
164
|
-
2. Paste the contents of `docker/docker-compose.yaml` from this repo
|
|
165
|
-
3. Edit the volume paths to match your pool (e.g. `/mnt/tank/microscopy:/data`) and uncomment `FLIMKIT_PASSWORD` with a password of your own
|
|
166
|
-
4. Deploy - TrueNAS will pull the image automatically
|
|
167
|
-
|
|
168
|
-
**Build from source** (required if you want to push your own changes):
|
|
169
|
-
|
|
170
|
-
```bash
|
|
171
|
-
python docker/build_docker.py # builds linux/amd64, pushes to Docker Hub
|
|
172
|
-
```
|
|
148
|
+
Then open http://localhost:14500 and log in as `flimkit` with that password.
|
|
173
149
|
|
|
174
|
-
|
|
150
|
+
The images are built in [flimkit-docker](https://github.com/FLIMKit/flimkit-docker), which lists the tags (Cellpose, CUDA, ROCm, the noVNC desktop and the headless bridge images), the settings, the compose file for a TrueNAS SCALE custom app, and how to build one yourself.
|
|
175
151
|
|
|
176
152
|
## Usage
|
|
177
153
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|