Skip to content

Releases

segresnet-mlx 0.5.0

Choose a tag to compare

@sandovaljoseph sandovaljoseph released this 15 Nov 02:03

Breaking changes

run replaces renal_cect and takes the CT phases as one mapping. It returns a medmlx_core.outputs.RunResult with outputs, artifacts and details; the mask artifact names the labels and the input grid. The mask file is now mask.nii.gz, not renalStructures_CECT_segmentation_mask.nii.gz, and arithmetic_profile is now precision.

-from segresnet_mlx.medmlx import renal_cect
-result = renal_cect(
-    arterial_path="arterial.nii.gz",
-    venous_path="venous.nii.gz",
-    excretory_path="excretory.nii.gz",
-    output_dir="out",
-    arithmetic_profile="compensated-fp32",
-)
+from segresnet_mlx import run
+result = run(
+    image_paths={
+        "arterial": "arterial.nii.gz",
+        "venous": "venous.nii.gz",
+        "excretory": "excretory.nii.gz",
+    },
+    output_dir="out",
+    precision="compensated-fp32",
+)
 print(result["outputs"]["mask"])

weights_path is a folder holding segresnet-renal-cect.safetensors; passing the file itself no longer works. The bundle-generic run(bundle=...) is removed.

load_model is renamed load_network.

Requires medmlx-core>=0.3.1,<0.4.

New

predict_logits(..., accumulation="mlx") stitches sliding-window logits in FP32 on the GPU and exports each completed slab, instead of blending on the host. The default stays host blending.

Faster

Resampling the CT onto the model grid runs on 8 threads, with bitwise identical results, and the renal postprocessing skips the background channel.

segresnet-mlx 0.4.1

Choose a tag to compare

@sandovaljoseph sandovaljoseph released this 11 Nov 20:30

The README shows a renal CT example and says to crop CT to the kidney region before running renal_cect: on a wider field of view the model can label vertebral bodies or liver as neoplasm. The code is unchanged from 0.4.0.

segresnet-mlx 0.4.0

Choose a tag to compare

@sandovaljoseph sandovaljoseph released this 11 Nov 19:42

Breaking changes

segresnet-mlx now runs only the renal CECT model, segresnet-renal-cect. The segresnet-brats model, its brats() runner and the brats_mri_segmentation bundle are removed; use nnunet-brats2021 from nnunet-mlx for BraTS. run() no longer accepts wholeBody_ct_segmentation or wholeBody_ct_segmentation_lowres; use totalsegmentator or mlx-segment-ct for whole-body CT.

run() takes only arterial_path, venous_path and excretory_path as inputs. The t1c_path, t1_path, t2_path, flair_path and image_path arguments are gone.

Faster

Renal mask conversion evaluates the sigmoid only for logits near the 0.5 threshold, with the same float32 rounding and the same masks.

segresnet-mlx 0.3.6

Choose a tag to compare

@sandovaljoseph sandovaljoseph released this 11 Nov 00:48

Breaking changes

segresnet-brats reports the standard BraTS label names. details["labels"] now names 1 "necrotic/non-enhancing tumor core", 2 "peritumoral edema" and 4 "enhancing tumor", the same names as MedCUDA's CUDA runner, so Radium shows identical labels on both backends. Masks are unchanged. Version 0.3.5 was tagged but never published; this release replaces it.

New

The registered brats and renal_cect runners accept streaming and scratch_dir and pass them to run. A missing scratch_dir is rejected before the model loads.

Faster

Whole-body postprocessing no longer stores the 105-channel probability volume. It runs the same FP32 softmax on bounded spatial blocks and takes the argmax immediately, keeping softmax rounding and lowest-index ties. Checkpoint admission checks every tensor's finiteness in one evaluation instead of synchronizing once per tensor.

segresnet-mlx 0.3.4

Choose a tag to compare

@sandovaljoseph sandovaljoseph released this 07 Nov 20:47

medmlx now checks that segresnet-brats and segresnet-renal-cect fit in available memory before running them. The runtime declares peaks of 5.0 GB and 4.1 GB, and the README lists their 19 MB and 76 MB weight downloads and measured peaks.

segresnet-mlx 0.3.3

Choose a tag to compare

@sandovaljoseph sandovaljoseph released this 01 Nov 03:53

Supports medmlx-core 0.2.6, required by medmlx 0.4.2.