Prostate Commander Open – Technical workflow from the DICOM examination to the MR/US fusion biopsy simulation
Technical documentation of the pilot project (deepnet.at)
As of 14 October 2026, software version OPEN (source state 13 Oct; AI additions: gland network, AI lesion search, physician correction and retraining, HTML report, out-of-plane)
Note: Prostate Commander is a pilot project demonstrating hybrid software development (expert + agentic AI). The software is not CE-certified, not a medical device and not intended for clinical diagnostics. All results described in this document serve testing purposes only.
Abstract
Prostate Commander Open (hereafter "OPEN") is a stand-alone Windows application for viewing and evaluating multiparametric prostate MRI examinations (T2-weighted images in three planes, diffusion weighting, optionally a dynamic contrast-enhanced series). From a DICOM examination – as a folder, DICOMDIR file set or ZIP archive – it fully automatically (1) identifies and loads the axial T2 series, (2) segments the prostate with a 3D U-Net (prostate158), refines the gland edge and the boundary between transition and peripheral zone with its own gland network trained on public data, and maps the zones, (3) computes its own ADC map from the measured b-value images and checks it for plausibility against the vendor ADC, (4) aligns diffusion and T2 to each other automatically, (5) derives perfusion maps (early enhancement, onset, wash-out) from the T1 dynamics, (6) searches, rates and ranks lesions according to a category logic modelled on PI-RADS 2.1, (7) in parallel runs its own learned lesion network on T2, ADC and diffusion whose lesions determine the display by default ("AI lesions only") – every AI lesion is confirmed by a second signal or marked as unconfirmed and takes the PI-RADS category of the rule-based lesion at the same location –, (8) displays all lesions in three planes (optionally freely tilted), in a panel strip (ADC, diffusion, DCE, PIRADS 3) and in a rotatable 3D lesion stack with an MR/US fusion biopsy simulation (transrectal transducer, needle guide, virtual core biopsy), and (9) produces a report as an HTML file, optionally as a Word or Writer document. Physician judgements on AI lesions and manual corrections of the gland contour take effect immediately and are stored as nameless learning examples on the local computer only; a separate tool fine-tunes the own networks with them and adopts the result only after passing a test. This document describes the processing chain in detail – data flows, algorithms, parameters and display rules – and names the limits of the method. All computations work exclusively on the original data; display enhancements (AI super-resolution, smooth transitions, tilted planes) do not touch the computational paths.
Keywords: prostate MRI, PI-RADS 2.1, ADC computation, image registration, prostate158, U-Net, deep learning, lesion detection, retraining, multiplanar reconstruction, MR/US fusion, biopsy simulation.
1 Introduction
Multiparametric MRI of the prostate (mpMRI) has become the standard before a biopsy; reporting follows the PI-RADS scheme (version 2.1), which defines a dominant sequence per zone – diffusion (DWI/ADC) in the peripheral zone (PZ), T2 in the transition zone (TZ) – and uses the dynamic contrast-enhanced series (DCE) only as a decision aid in the PZ (category 3 → 4) [1, 2]. Targeted biopsy today is predominantly MR/US fused: the lesion identified in the MRI is transferred to the transrectal ultrasound image and punctured under ultrasound guidance.
Prostate Commander maps this chain as a pilot project in a single application. The aim of the pilot project was not a medical device but the proof that a fully working specialist application with highly complex building blocks – AI libraries, CUDA access, several processes and threads, custom registration, reconstruction and rendering methods – emerges within a few weeks from the interplay of a domain expert and agentic AI. The OPEN version is the freely testable trial edition: it loads exclusively via folder selection/drag & drop, keeps no patient list, deletes all session data (imported images, result caches) when the program ends and is limited to 30 PIRADS computations.
As of October 2026 the rule-based assessment is joined by own neural networks: a gland and zone network that refines the contour of the imported AI, and a lesion network that proposes lesions from T2, ADC and diffusion. Both were trained on the public PROSTATEx data set [8] with published reference outlines [9]. The grading of a lesion remains rule-based and traceable: the networks determine where lesions are proposed and what is shown, not the PI-RADS category.
This document describes the technical workflow in the order of processing: system architecture (section 2.1), loading the examination (2.2), segmentation and own gland network (2.3–2.4), diffusion and ADC (2.5), alignment (2.6), perfusion (2.7), rule-based lesion search and categorisation (2.8–2.9), AI lesion search (2.10), physician correction and retraining (2.11), display (2.12–2.14), 3D stack with fusion biopsy simulation (2.15), report (2.16) and framework of the OPEN version (2.17). Section 3 gives exemplary figures, section 4 discusses limitations.
2 Material and methods
2.1 System architecture
OPEN consists of three processes (Fig. 1):
- Viewer process (
run_seg.exe, Nuitka-compiled Python): user interface (OpenCV HighGUI, one window), DICOM processing (core), diffusion/lesion pipeline (diffusion), display (viewer), bridge to the AI (ki_bridge). It deliberately contains no torch/monai; the viewer side of the own networks (druese_ki,herd_ki: crop, back-projection, confirmation, outlines) works with numpy and OpenCV only. - AI service process (
ki_seg.py --serve, external Python with torch/monai; by default an embedded Python set up by the installer, optionally with CUDA torch): loads the prostate158 model once and then answers JSON commands via stdin/stdout – "A" whole-gland segmentation, "Z" zone map, "D" refinement by the own gland/zone network, "H" AI lesion map (lesion network, T2 network and diffusion cluster C3), "S" display super-resolution (Real-ESRGAN), "I" in-between frames (RIFE, GPU only). The own networks are loaded on first use and checked against the SHA-256 checksums inherdnetz.jsonanddruese.json. The process terminates as soon as the viewer ends. - Dialog process (
_dialog_prozess.exe, tkinter): all modal dialogs (folder selection, questions, lesion selection, AI lesion assessment, password) run in their own process so that the OpenCV main loop never creates a window without a main window and the viewer rebuilds cleanly after the dialog.
Inside the viewer several threads work alongside the main loop: the pipeline (ADC/lesion search) runs synchronously with an hourglass; the zone map is requested in parallel and comes from the same AI forward pass as the contour (inference cache in the AI process, no second pass); resampling and DCE maps are computed block-wise in parallel or only inside the contour (bit-identical to the serial full-grid computation); the result cache is written in a background thread; the display super-resolution and the in-between frames are obtained in a background thread via the AI process; the multiplanar panels (sag/cor) have a pre-cache; the AI lesion map, the build of the AI lesion study and the report (F2) run in background threads of their own. Settings, logs, corrections, physician judgements and learning stores have been kept in the program folder under daten\ since 13 Oct 2026 (config.json, korrekturen.json, ki_korrekturen.json, ki_lernablage\, ki_umrisse\, druese_lernablage\); an earlier store under %APPDATA%\run_seg is copied there once at the first start. The trial counter and the activation marker stay machine-wide (section 2.17). Session data (imported DICOM, result caches) live under the program folder in output_dcm, output_mpr, output_label, output_tiff and are deleted completely in OPEN at every start and import (core.wipe_session_data).
2.2 Loading the DICOM examination
Sources. The button "MR" (key L) opens the folder selection; alternatively a folder or a ZIP archive is dragged onto the window. ZIP archives (including ZIP inside ZIP, depth ≤ 2) are unpacked into a staging folder under %TEMP%\run_seg_zip; corrupt archives are skipped (core.zip_import_vorbereiten). The folder selection starts in the last chosen folder. Before every import OPEN deletes the working folders of the previous examination.
Series recognition (two stages). If a DICOMDIR lies directly in the folder, it is taken as the authoritative index of the file set (PS3.10) and provides the file list; otherwise the folder is scanned recursively. At first only the headers are read (without pixel data, cached process-wide, core.lese_scan_header; every file is opened exactly once for all searches), only matching files completely. An axial T2 series counts as a genuine T2 spin-echo series (core.ist_echte_t2_serie) only if vendor-independent standard tags fit together: "T2" in SeriesDescription/SequenceName, no T2* indication, no diffusion b-value (Siemens 0019,100C / Philips 2001,1003), no LOCALIZER, echo time ≥ 60 ms (a missing echo time is no exclusion). If an examination contains several axial T2 series (repetition after motion artefact, 3D sequence next to 2D TSE), only the one closest to the PI-RADS technical standard is kept (_beste_axiale_t2_serie_je_untersuchung) so that slices of different series are never mixed. If the file set contains several patients or examinations, OPEN loads exactly one without asking: the first one found, i.e. the first examination of the file list sorted by PatientID and StudyInstanceUID (_untersuchung_ohne_auswahl); the status line names it. No examination is remembered.
Image preparation. The slices are sorted by PatientID/StudyInstanceUID/SeriesInstanceUID/SOPInstanceUID, de-duplicated via SHA-256 of the pixel data, brought to a square 512-px display grid (the original geometry – PixelSpacing, ImagePositionPatient, ImageOrientationPatient – remains in the dataset for all computations) and loaded into the state S (_lade_daten). Slice 1 is the most apical slice; anatomical thirds (basal/mid/apical) are always derived later from the LPS z coordinate, never from the slice index.
Companion series. In parallel, the sagittal and coronal T2 series (largest series per orientation, core.waehle_t2_serien), all diffusion series by b-value (core.find_diffusion_serien, also across several series such as B0/B100/B1000; derived maps omitted; de-duplication per SOPInstanceUID), the vendor ADC (only for plausibility checking) and the best axial T1 series (dynamics, core.find_t1_serie) are searched and copied to output_dcm/{t2_mpr,dwi,t1} (SOP-UID file names, idempotent).
Examination analysis. On loading, an analysis of the sequences, geometries and completeness is created: missing slices of a series produce the red header line "EXAMINATION LOADED INCOMPLETELY"; low overlap between sag/cor and axial is reported as a warning; sequences that make T2/diffusion/ADC unmatchable are identified. The analysis is available as a Word document via the "Analysis" button.
Automation. If no slice has a genuine contour (fresh data set), all slices are set inactive and the AI segmentation is requested automatically (_import_nachbereitung); after the segmentation the PIRADS computation starts automatically as soon as enough active segments exist.
2.3 Prostate segmentation and zone map
Model. The segmentation uses the publicly available model anatomy from prostate158 (Adams, Bressem et al. [3]; weights CC BY 4.0, Zenodo 10.5281/zenodo.6397057): a 3D U-Net (monai, channels 16–512, strides 2, four residual units, PReLU, BatchNorm, dropout 0.15) with three classes (background, transition/central zone, peripheral zone). Pre-processing: orientation RAS, isotropic spacing 0.5 mm, z-score normalisation (nonzero); inference by sliding window (ROI 96³, overlap 0.5, Gaussian weighting), softmax → argmax. Whole gland = class 1 ∪ class 2.
Procedure. ki_bridge.segmentiere writes the list of axial T2 files in viewer order to a temporary file, sends {"cmd":"A", …} to the service process and reads an (N, Rows, Cols) uint8 mask. Of the connected 3D components of the gland mask the AI process keeps the largest one whose centroid lies at most 25 mm lateral of the body midline (_komponente_mittig; without a reliable decision the largest one) – so a larger missegmentation at the femoral head or the pelvic muscles does not remain as "prostate"; the viewer additionally discards laterally remote areas per slice (_ki_maske_mittig). Then the own gland network refines edge and zone boundary (section 2.4). Per slice the largest connected area is chosen, morphologically closed, the raster edge resampled evenly, low-pass filtered circularly several times and smoothed with a B-spline; from this at most twelve evenly distributed control points arise; the closed cubic B-spline through these nodes is the contour shown in the viewer (_maske_zu_kontrollpunkten). Of these, six evenly distributed handles are visible and grabbable; when a handle is dragged the hidden points up to the neighbouring handles follow proportionally (_griffe_ziehen), a click on the line or "+" inserts a handle, a right-click or "−" removes it. Slices with a detected prostate are set active. The contour can be edited manually (drag handles, Ctrl+click = contrast edge, freehand, radius via mouse wheel).
Contour view. By default the viewer shows the contour as a smooth outline without nodes; under the mouse only the node that a click would grab appears. Key A cycles outline → polygon with nodes (editing) → mask as a transparent area → outline; editing works in every view. Manual corrections of an AI contour are stored as a nameless learning example for the gland network (section 2.11).
Zone map. For the zone-specific references of the score the pipeline invisibly requests the same AI with command "Z" on all axial slices (diffusion._zonen_karte): TZ = AI class 1 inside the user contour, PZ = remainder of the contour – the user's contour remains the authority, AI gaps fall into the PZ. Since the zone map comes from the same forward pass as the contour, it is served from the inference cache of the AI process without a second run. Inside the user contour the gland network then takes over the TZ/PZ boundary (section 2.4), provided both zones still comprise at least 50 pixels. Without AI a global reference applies.
2.4 Own gland and zone network
Purpose. The imported AI delivers the gland as a whole; edge and boundary between transition and peripheral zone are then refined by an own network (druese_ki in the viewer, ki_herdnetz.druese_anfrage in the AI process, command "D"). It was trained on PROSTATEx [8] with the reference masks of Cuocolo et al. [9]. Only this own network is ever retrained, never the prostate158 model.
Network and input. 2.5D U-Net [10] – a 2D U-Net with four resolution levels (32–256 feature channels, BatchNorm, ReLU, dropout 0.1) – with seven input channels: T2 of slice k and its neighbouring slices k ± 1, k ± 2 (divided by the T2 median of the gland, clipped to 0–4) plus the gland template and the TZ template from prostate158; output three classes (background, TZ, PZ; Table 1). It computes in a crop of 160 × 160 pixels of 0.6 mm (96 × 96 mm) around the gland centroid, only on the slices with a template; sampling and normalisation are the same as in training. Inference: softmax averaged with the left-right mirrored input, argmax, only the largest 3D component; the back-projection to the T2 grid samples each class bilinearly and decides by argmax.
Safety net. If the volume of the network result lies outside 0.6–1.4 × template, it is discarded and the prostate158 contour remains (_MAX_AENDERUNG); slices on which the network finds nothing keep the template. The network therefore cannot add or remove a slice, it can only change edge and zone within the slices found by prostate158.
Use. (1) Directly after the AI segmentation (key K or automatically; the status line reports "edge and zones refined by the gland net"), (2) in the zone map of the PIRADS run, there only for the TZ/PZ boundary inside the user contour (section 2.3). Switch druese_netz in config.json (on by default); without the AI process, without weights or with a discarded result the prostate158 contour applies unchanged. Weights models/druese/druese_zonen.pt, checksum in druese.json.
2.5 Diffusion, ADC and derived maps
Series selection. The ADC fit uses exclusively measured b-value images (adc_serien: "measured" vs. "computed"); images extrapolated by the scanner (e.g. CALC_BVAL b2000) serve only for display. With several diffusion acquisitions the most suitable one is chosen (coverage with T2, echo time, pixel size, number of b-values; grund = beste_messung). Example: from an acquisition b50/b1500 with computed b2000 the fit is computed over b50/b1500, b2000 is shown.
Resampling without interpolation. Every b-image series is brought to the T2 grid by nearest neighbour: each T2 voxel takes exactly one native diffusion voxel for all b-values. The fit thus effectively works in the native DWI grid like the scanner ADC – without partial volume from mixing with neighbouring voxels, which would systematically raise small lesions with low ADC. Pixels outside the prostate mask are set to 0; where the b0 signal lies below 10 % of the 97th percentile the voxel counts as noise (_SIG_SCHWELLE_FRAKTION).
ADC fit. Voxel-wise weighted log-linear least-squares fit of ln S over all b ≥ 100 s/mm² (_ADC_BMIN), weight per b and voxel = S² (variance correction of the log transformation), slope = −ADC (mm²/s, displayed in 10⁻⁶ mm²/s). Optionally (≥ 3 high and ≥ 2 low b-values) a segmented IVIM-DKI fit: S(b)/S0 = (1−f)·exp(−bD + b²D²K/6) + f·exp(−bD). Virtual maps: eADC = exp(−b_max·ADC) and a synthetic high-b image cDWI. The ADC is never filtered* (no median, no bilateral filter, no interpolation); display and pixel hint always show the raw value.
Internal copy for the lesion search. Copies arise only for lesion detection: dwi_herd = high-b image with 3×3 median and homomorphic bias-field correction (coil profile as a strongly low-pass-filtered image, strength 0.85) and a 3×3-median-filtered ADC copy against single-pixel outliers. The network input of the AI lesion search (section 2.10) is such an internal copy as well. The displayed diffusion image stays raw.
Plausibility check. After every run the internal ADC is compared with the vendor ADC of the same acquisition (same offset, nearest neighbour, scale detection): Pearson correlation and median ratio internal/vendor. Deviations produce a warning, never a silent "repair" (example case A: ratio 1.013, median 1075 vs. 1061 · 10⁻⁶ mm²/s, n = 36,493 voxels, status "ok").
Storage. T2, diffusion (raw), ADC, eADC, cDWI, mask, zone map, DCE maps and the sag/cor reformat grid are stored as a result cache (compressed NumPy archives) under output_mpr/_cache/ (in OPEN only for the session); there has been no NIfTI export since 22 Sep 2026. Writing runs in a background thread so that building the multiplanar view does not wait for the disk.
2.6 Automatic alignment diffusion → T2 and T1 → T2
Patient motion between the T2 and the diffusion acquisition is not captured in the DICOM geometry. _auto_diff_versatz_schaetzen therefore estimates, per native DWI slice, an in-plane offset by 2D phase correlation (cv2.phaseCorrelate) between the T2 slice projected into the DWI plane and the DWI slice with the lowest b-value (T2-like contrast), restricted to a window around the projected prostate. Besides the geometrically nearest T2 slice its neighbours (±3) are correlated as well; if a neighbouring slice wins consistently, this is taken as a through-slice offset (craniocaudal, e.g. table shift) and applied as a uniform offset to the series affine (two passes, sub-slice refinement by parabola). The x/y estimates are consolidated rigidly (robust linear trend along the slices, Theil–Sen, MAD ≤ 3 mm), outliers > 4 px are discarded. An offset is adopted only if the correlation response is ≥ 0.15 and the magnitude ≤ 15 mm – better no correction than a wrong one. Manual corrections (original diffusion image window, shift-click lesion markers) always take precedence. Example case A: 18 slices, median offset 2.2 mm, maximum 3.2 mm, z offset 0.
The T1 dynamics are aligned analogously but rigidly via edge images (gradient magnitude) (_t1_deckung): median of all slice estimates, only with sufficient agreement; the intensity correlation of the diffusion is not suitable for T1.
2.7 Perfusion (DCE)
From the axial T1 dynamics (_t1_phasen: phases from AcquisitionNumber/TemporalPositionIdentifier or time stamps, ≥ 4 phases) the following are computed on the T2 grid (_dce_karten): arrival of the contrast agent from the vessel curve (brightest 1 % of the final phase; arrival when the curve rises clearly above the baseline mean), per voxel the relative enhancement E(t) = (S − S0)/S0 (S0 = mean of the phases before arrival), from this the maps early enhancement (largest E in the first 60 s after arrival), onset (seconds after arrival from which E ≥ 30 %), maximum and wash-out (drop from the maximum to the end). The computation window is the prostate contour + 15 mm, per image a 3×3 median; the maps are brought to the T2 grid trilinearly with slice-thickness matching – since 22 Sep 2026 only for the grid points inside the contour (bit-identical result, a fraction of the runtime).
Per lesion, DCE is rated against the 2–7 mm surround (_dce_herd_bewerten): positive = lesion median E ≥ 50 %, ≥ 1.25 × surround, onset not later than the surround (+ one phase), in ≥ 40 % of the lesion pixels. Independently, _dce_kandidaten searches for focal enhancing foci (E ≥ 80 %, ≥ 1.75 × ring, 4–20 mm, roundish, maximum within 60 s and wash-out ≥ 20 %) – exclusively inside the P3 areas and only as an overlay in the DCE panel, without influence on category or rank.
2.8 Rule-based lesion search
The rule-based lesion search (_herd_studie_rechnen, Fig. 2) runs with every PIRADS computation – also in the "AI lesions only" mode, in which its lesions are not shown but confirm and grade the AI lesions (section 2.10). It runs in this order:
- Study-wide DWI threshold. Over all prostate voxels of the examination: median and robust sigma (1.4826 · MAD) of the bias-corrected high-b image; threshold = max(1.3 · median, median + 2.5 · σ). Example case A: 36.6 (median 24.8, σ 4.7).
- Candidates per slice (
_herd_karte). Hard core: diffusion ≥ 97th percentile of the slice or ≥ study threshold (the lower value applies – so a large lesion is captured completely, not only its brightest 3 %), ADC within the window 250–1000 · 10⁻⁶ mm²/s (candidate band) and T2 hypointense relative to the zone-specific reference (PZ pixels against PZ median, TZ against TZ median of the slice). Tolerance: regions with a hard core are joined by pixels with highest diffusion values that miss the ADC window by ≤ 150 or lie only moderately (≤ median · 1.15) above it in T2. DWI-3 candidates (PZ only): ADC only moderately reduced (up to 1300) but DWI-bright and T2 ≥ 20 % below the reference – they later receive DWI category 3 and become visible only with positive DCE. - Shape filter (
_herd_formmaske): minimum diameter 2 mm, solidity ≥ 0.55, aspect ratio ≤ 4 (roundish to elongated oval), exception "punched out" circular; ragged/streaky components are opened once by 1 mm and their parts checked individually (thin bridges drop out). - Artefact filters: rectal-wall streaks and periurethral candidates are discarded (counted in the log). Band filter (per 3D lesion after categorisation): elongated band-shaped diffusion/ADC reductions along anatomical borders – supporting slices ≥ 6 mm long, ≤ 4.5 mm wide (length/width ≥ 3), ≥ 60 % of the pixels within 2.5 mm of the capsule or the TZ/PZ boundary and parallel to it – are not regarded as suspicious for malignancy and are discarded (
_band_filter; correction-mode codeband). - T2-first candidates (
_t2_kandidaten): focal T2-hypointense areas measured against the 2–8 mm ring of their own surroundings (contrast c = 1 − T2/ring ≥ 0.20, below the slice median, 1.5 mm inside the contour), 3D components 5–18 mm, area ≥ 15 mm², fill factor ≥ 0.40, craniocaudal ≤ 21 mm; exclusion of the anterior fibromuscular stroma, capsular-rim streaks and elongated ellipsoids; zone rule: TZ → candidate, PZ only with confirmation by ADC (median ≤ 1100) or DWI (≥ 1.2 × prostate median). Non-focal components (T2-dark central gland) are decomposed into darker sub-areas at stepwise raised contrast thresholds (0.30/0.40/0.50). Diffusion and T2 candidates are merged. - ADC rim (
_herd_saum_trimmen): per 3D lesion half-value limitation of the partial-volume rim rising to 1000–1200; pixels with DWI ≥ study threshold and ADC ≤ 900 always remain (clear diffusion restriction, no rim); T2-defined pixels are not decomposed. - Categorisation and score per 3D lesion (section 2.9), visibility, ranking, extent (
_herd_ausdehnung: growing from the core into T2/ADC-conspicuous neighbouring pixels, at most 3 mm; with an elongated core only by one third of the core width across the main axis so that the shape is preserved – for the red area of the PIRADS-3 map, not for score/volume).
diffusion._herd_studie_rechnen). The candidate search works per slice on the bias-corrected diffusion copy, the median-filtered ADC copy and the T2 with zone-specific reference; all further stages work on 3D components.2.9 Categorisation according to PI-RADS 2.1, visibility and ranking
Pillars per 3D lesion (_herd_scores_rechnen): DWI pillar from rank (percentile of the lesion DWI within the study), ratio to the reference ring and absolute height (weights 0.35/0.30/0.35); ADC pillar from the core (10th percentile, at least 4 px / 6 mm² or 25 % of the lesion) and its ratio to the surround; the ADC counts as significant only if the core is ≤ 900 and ≤ 0.75 of the zone reference (height), the median of the lesion also stays ≤ 0.75 of the zone reference (focality – ADC pathology is the sum of focal arrangement and low values; in a BPH transition zone whose reference itself lies around 790, a lesion with median 685 is no focal lesion) and a contiguous patch of low values exists (number); T2 pillar from the contrast to the 2–7 mm ring (ring at least 20 mm² of tissue, otherwise extended stepwise to 15 mm, then neighbouring slices, then global). The pillars yield a sum score which since 17 Sep serves only the ranking.
ADC ratio (_adc_ratio_mw): Because absolute ADC values vary with vendor, field strength and patient, the application additionally reports the ratio for every lesion: ADC ratio = mean ADC of the lesion / mean ADC of healthy tissue. Healthy tissue is the segmented prostate without lesion candidates (neither T2/P3 nor diffusion candidates), in the same zone (AI zone map) and on the same slices as the lesion – not the average of the whole examination, which would mix the zones. With fewer than 50 healthy pixels there, the zone over all slices, otherwise the whole prostate serves as reference. Grades: > 0.75 normal to benign; 0.65–0.75 grey zone (intermediate, mostly the PI-RADS 3 range, overlap of prostatitis and low-grade tumour); < 0.65 pathological (high suspicion); ≤ 0.55 highly pathological (in studies Gleason ≥ 4+3, i.e. PI-RADS 4/5). The ratio is shown in the lesion hint and in the text and Word reports. How it enters the DWI category is selectable in the lesion selection dialog ("ADC assessment", saved and named in the report): absolute (ADC core ≤ 900 for DWI 4 and – from 15 mm – DWI 5; ≤ 750 = strong diffusion – default), absolute and ratio (additionally ratio < 0.65 or ≤ 0.55), ratio only (ratio < 0.65 or ≤ 0.55 instead of the absolute thresholds) and absolute or ratio. A change re-assesses the lesions at once without a new pipeline run, so the variants can be compared on the case. Background: PI-RADS 2.1 describes diffusion qualitatively ("mild", "marked") with absolute orientation values that ignore scanner-related ADC differences – the ratio to the tissue of the same examination compensates them.
Category (_kategorie_21): DWI category 4 = DWI pillar ≥ 0.5 and significant ADC core ≤ 900; 5 = the same criteria and ≥ 15 mm in the greatest extent (axial, cranio-caudal or in space) or extraprostatic extension (EPE: capsular contact ≥ 10 mm, ≥ 25 % outer rim, DWI share outside ≥ 0.7) – as PI-RADS 2.1 ("same as 4 but ≥ 1.5 cm"), since 10 Oct 2026 without a separate ADC threshold for 5; 3 = focal but only moderate – likewise a T2 lesion without diffusion candidate whose ADC is mildly reduced (median ≤ 0.85 of the zone reference or a contiguous ADC patch ≤ 900 of 6 mm² or more; PI-RADS 2.1: focal mildly to moderately hypointense on ADC with isointense DWI); 2 = no diffusion candidate without ADC reduction. Absolute ADC values between 750 and 900 count as a grey zone (intermediate); only a core ≤ 750 counts as a strong diffusion restriction (P3 rule below). T2 category: 4 = contrast ≥ 30 % (< 15 mm), 5 = ≥ 15 mm/EPE, 3 = 20–30 %, 2 below. Homogeneous (TZ, _T2_HOMOGEN_QUOT): a lesion from 10 mm with DWI ≥ 4 whose T2 spread (interquartile range/median) is at most half that of its ring is visible on T2 as a homogeneous, ill-defined area in nodular BPH surroundings even if it is not darker – no circumscribed BPH nodule (T2 2), but not hypointense either (T2 4): T2 category 3. Lesions in space (_raum_vereinen_gruppen): two lesion parts continuing in the next slice (no common slice, same zone, both from 10 mm in-plane and DWI ≥ 4, offset at the transition ≤ 6 mm) are assessed as one lesion; small lesions remain in-plane lesions. Final category: PZ = DWI category, where category 3 with positive DCE becomes 4 (also for a T2 lesion with DWI 3); TZ = T2 category, with the rules T2 3 + DWI 5 → 4, T2 3 + DWI ≤ 4 → 3, T2 2 + DWI ≥ 4 → 3, T2 2 + DWI 5 → 4 ("no BPH nodule"). In addition the P3 rule (derived from [2], own operationalisation): TZ lesion with P3 (T2 category 3) and ADC core ≤ 750 or positive DCE → 4.
Visibility (_herd_anzeige_maske): only lesions of category 4 and 5 are shown and assessed; categories 2 and 3 are discarded (no substitute display). Exceptions: PI-RADS 3 lesions from the T2 without diffusion restriction remain visible as a red area; a diffusion restriction without P3 (T2 contrast < 20 %) drops out unless it is very large (≥ 10 mm / ≥ 0.25 ml). By default the application shows the "radiologist's eye": T2 contrast ≥ 20 % is mandatory, lesions ≥ 10 mm in-plane (size rule, section 2.12), next to the unambiguous category 4/5 lesion only those almost as large (axis ≥ 75 %) as well as category 5 and rank 1 unless they are too small or uncertain; the others can be switched on via the lesion window (right-click on a lesion). These visibility rules apply to the rule-based lesions; in the "AI lesions only" mode every AI lesion is shown (section 2.10).
Ranking (_rank_schluessel): rank 1 = most likely malignant – sorted by category (5 before 4 before 3), P3 before diffusion restriction without P3, DWI category, ADC core in steps of 100, DWI strength, volume, diameter, sum score. Colour = category: 5 white, 4 yellow, 3 red; every lesion receives a rank number, the red circle only with the switch in the lesion window. The lesion volume is computed as an ellipsoid from the three T2 planes.
Correction mode. A right-click next to a lesion explains which criterion is violated there (herd_diagnose: codes zu_klein, t2_pflicht, t2_kat, adc_kat, dwi, adc_band, t2_hypo, form, relativ, nachrangig) and allows "lesion missing here" (forced 4-mm anchor with real measurements); a right-click on a lesion allows "false" (hide). Corrections are stored per study in korrekturen.json and applied at the next run. They concern the rule-based lesions; judgements on AI lesions are described in section 2.11.
2.10 AI lesion search and "AI lesions only" mode
Networks. The AI lesion map (herd_ki in the viewer, ki_herdnetz in the AI process, command "H") consists of two learned 2.5D U-Nets of the same design as the gland network and a rule-type diffusion cluster (Table 1, Fig. 3):
- Lesion network "mp" with 18 input channels: T2 (divided by the gland median), ADC (10⁻³ mm²/s) and DWI (bias-corrected high-b image of the lesion search, divided by the gland median), each for slice k and two neighbouring slices on either side, plus gland, TZ and PZ from contour and zone map; output per pixel the probability of a clinically significant cancer (sigmoid).
- T2 network "t2" with 8 channels (T2 of the five slices, gland, TZ, PZ); output the probability of a lesion area delineable on T2 (P3 area).
Both networks were trained on the PROSTATEx training cohort [8] with the outlines of Cuocolo et al. [9]; individual reference outlines judged faulty on review are excluded from every training.
Table 1. Own neural networks in the factory state. Common to all: 2.5D U-Net [10] with four resolution levels (32–256 feature channels), crop 160 × 160 pixels of 0.6 mm around the gland centroid, slice k with k ± 1 and k ± 2, averaging with the left-right mirrored input, training data PROSTATEx [8] with reference outlines [9]; the SHA-256 checksums are verified on loading.
| Network | Input | Output | Use | Weights / description |
|---|---|---|---|---|
| Gland/zone network | T2 (5 slices), gland template, TZ template – 7 channels | background / TZ / PZ (softmax) | edge and zone boundary after prostate158 (2.4) | models/druese/druese_zonen.pt, druese.json |
| Lesion network "mp" | T2, ADC, DWI (5 slices each), gland, TZ, PZ – 18 channels | probability of clinically significant cancer (sigmoid) | AI lesions, threshold 0.7852 (2.10) | models/herdnetz/herdnetz_mp.pt, herdnetz.json |
| T2 network "t2" | T2 (5 slices), gland, TZ, PZ – 8 channels | probability of a lesion area on T2 (sigmoid) | P3 areas, TZ condition of cluster C3 (2.10) | models/herdnetz/herdnetz_t2.pt, herdnetz.json |
Input. From the maps of the PIRADS run (T2, ADC, DWI, contour and zone map on the T2 grid) a crop of 160 × 160 pixels of 0.6 mm (96 × 96 mm) around the gland centroid is formed, sampled bilinearly and, as in training, stored and read back as float16, so that the input matches the training pipeline; the values are clipped (T2 0–4, ADC 0–3.5, DWI 0–6). This crop is an internal copy like the one of the rule-based lesion search (section 2.5) – the displayed ADC and all measurements stay raw. The networks compute with averaging over the left-right mirrored input and only inside the gland; the label maps are projected back to the T2 grid by nearest neighbour. The computation runs in the background and is triggered once per computation state (examination and PIRADS run).
Candidates. AI lesion = connected 3D region with probability ≥ 0.5 (26-neighbourhood), greatest in-plane diameter ≥ 5 mm, whose highest value reaches the fixed threshold 0.7852 (schwelle_mp in herdnetz.json). P3 area = region of the T2 network by the same rule with threshold 0.5.
Diffusion cluster C3. A second, rule-type signal from ADC and DWI: per zone a pixel counts as conspicuous if the ADC is ≤ 0.85 (TZ) or ≤ 0.75 (PZ) × zone median and at the same time the DWI is ≥ 1.2 × zone median. The local density ρ of conspicuous pixels (Gaussian smoothing σ = 3 mm in-plane, neighbouring slices weighted 0.25/0.5/0.25) is thresholded at ρ ≥ 0.4; a cluster must measure ≥ 5 mm in-plane, cover ≥ 2 slices and be significantly dense compared with the base rate of its zone (binomial z value ≥ 3, effective sample per 2 × 2 mm²). Clusters in the TZ count only if the T2 network sees a P3 area (≥ 0.5) there. The thresholds are an own operationalisation; PI-RADS 2.1 [2] describes diffusion restriction qualitatively.
Confirmation. An AI lesion counts as confirmed if a diffusion cluster C3 or a rule-based lesion of category ≥ 4 lies at most 5 mm away (3D approximation: 5 mm in-plane, on a neighbouring slice at distance d still √(5² − d²) mm), if the AI probability is ≥ 99.5 %, or if the physician has judged it correct (section 2.11). Otherwise it remains unconfirmed and is marked as such ("unconfirmed – please check").
"AI lesions only" mode (Shift+E, config.json nur_ki_herde, on by default). The AI lesions replace the rule-based lesions in the image, the multiplanar view, the panel strip, the lesion list, the 3D view and the report; rule-based lesions, diffusion clusters and P3 areas continue to be computed in the background – they confirm the AI lesions and provide their grading – but are not shown. For this, diffusion._ki_hs_bauen builds a lesion study from the AI lesions with the same fields as the rule-based one:
- Lesions: all AI lesions except those rejected by the physician; an outline corrected by the physician takes the place of the affected lesion; in addition the lesions added by the physician (diffusion cluster or P3 area "lesion correct", "AI missed it", "lesion here"; section 2.11).
- Grading: if a rule-based lesion lies at most 5 mm away – also a hidden one of category 2 or 3, but not one marked false by the physician –, the AI lesion takes its PI-RADS category, measurements and reasoning (with several, the one with the highest category); geometry (slices, diameter, volume) remains that of the AI lesion. If the rule-based lesion measures below 5 mm, the category is dropped. Without a rule-based lesion at the location the entry reads "no PI-RADS category". The AI probability itself is not a PI-RADS category.
- Ranking and visibility: confirmed before unconfirmed, then PI-RADS category, then AI probability, then volume; every AI lesion is shown – the visibility and size rules of the rule-based lesions (sections 2.9 and 2.12) apply to their category, not to the finding of the AI.
- Display: confirmed AI lesion with a red, unconfirmed with an orange outline and rank number (T2 panels, ADC and diffusion panel, tilted planes, 3D); the P3 field of the panel strip shows "P3 map off – AI lesions only".
- Processing states: while the AI lesion map is computing, "AI lesion search running …" is shown; if the AI is not available (process missing, error), the program shows the rule-based lesions with the note "AI not available – PI-RADS lesions shown" – never an empty display without a note. When physician judgements or the switch change, a background thread rebuilds the lesion study; Shift+E switches back to all lesions according to PI-RADS.
AI lesion map (key E, on by default, experimental). Additional overlay in the axial T2 panel. In the "AI lesions only" mode every AI lesion carries its probability ("AI 97 %", if applicable "(unconfirmed)" or "(physician: correct)"), AI lesions rejected by the physician appear grey with the note "rejected". If the mode is off, E lays the AI lesion map over the rule-based lesions: AI lesion red or orange, diffusion cluster blue, P3 area of the T2 network violet; confirmed AI lesions then appear as a separate "AI second opinion" section in the lesion list and the report, separate from the PI-RADS lesions, whose categories and ranks remain unchanged.
herd_ki, ki_herdnetz, diffusion._ki_hs_bauen): the lesion network proposes lesions; they are confirmed by the diffusion cluster C3, a rule-based lesion of category ≥ 4 within 5 mm, a very high AI probability or the physician's judgement. The PI-RADS category always comes from the rule-based lesion at the same location; physician judgements take effect immediately and are stored as learning examples.2.11 Physician correction, learning store and retraining
Judgements on AI lesions. A right-click exactly on an AI lesion in the axial panel of the multiplanar view (it takes precedence over the right-click on a rule-based lesion and, in the "AI lesions only" mode, works even with key E switched off) opens the dialog "Assess AI lesion": AI probability, source of confirmation and previous judgement, buttons "AI lesion correct", "AI lesion wrong", in the "AI lesions only" mode "Change outline / size", with an existing judgement "Withdraw assessment", and "PI-RADS lesion list". With the mode switched off, diffusion clusters and P3 areas of the AI lesion map can be assessed as well ("Lesion correct (AI missed it)" / "No lesion (wrong)"). For a lesion missed by the AI there are two ways: in the lesion window of a rule-based lesion without an AI lesion within 5 mm, "AI missed it"; or – with the AI lesion map switched on – right-click next to a lesion and "AI missed it – lesion here" (sphere of 5 mm around the point, restricted to the gland). Every judgement takes effect immediately in display, lesion list, 3D and report: rejected AI lesions are dropped, added lesions are included as confirmed lesions ("added by the physician (AI missed it)"); the PI-RADS categories of the rule-based lesions do not change.
Change outline / size. The dialog button starts editing the displayed lesion in the axial image (yellow outline; the tilted planes are switched off for this): mouse wheel = size ± 1 mm via a 3D distance field (at most ± 15 mm relative to the initial outline, growth at most 3 mm beyond the gland contour), drag handles = outline per slice (twelve points in the background; four handles are visible for lesions from 10 mm, otherwise two, the remaining points follow proportionally), Shift+mouse wheel = slice, Enter = apply, Esc = discard; a change of case or view aborts. The title line gives diameter and volume before and after. The new outline replaces the lesion it concerns (overlap or at most 3 mm from the previous centroid) in display, 3D and report ("outline corrected by the physician") and counts as confirmed; "Withdraw assessment" removes it as well.
Storage. The judgements are kept in daten\ki_korrekturen.json, per StudyInstanceUID with the position of the lesion in world coordinates (LPS, mm) – so a judgement stays attached to the same lesion even after a recomputation (assignment ≤ 5 mm; a new judgement replaces an earlier one of the same kind within 8 mm). Corrected outlines are stored as a mask (packed bits with affine matrix) in daten\ki_umrisse\. For every assessed examination the program stores a nameless learning example in daten\ki_lernablage\: the network crop (six channels, float16), the masks of the assessed regions, one judgement code per region (Table 2) and the AI probability – without names and without DICOM header data; the file name is an identifier derived from the StudyInstanceUID (SHA-1, 16 characters). A corrected outline replaces earlier judgements on the same lesion in the learning example. All stores remain on the computer; nothing is transmitted.
Table 2. Physician judgements and their codes in the learning example of the lesion network. Learning takes place only in the assessed regions; the rest of the crop does not enter the loss.
| Code | Trigger | Meaning in retraining |
|---|---|---|
| 1 | "AI lesion correct" | lesion (region of the AI lesion) |
| 0 | "AI lesion wrong" | no lesion |
| 2 | "AI missed it" (rule-based lesion) or cluster/P3 "lesion correct" | lesion (mask of the rule-based lesion or of the mark) |
| 3 | cluster/P3 "No lesion (wrong)" | no lesion |
| 4 | "AI missed it – lesion here" | lesion, outline estimated (5 mm sphere, restricted to the gland) |
| 5 | "Change outline / size" | lesion with exact outline |
| 6 | "Change outline / size" | no lesion: 3 mm rim around the new outline and what was removed from the old outline |
Gland contour. If the user changes an AI contour manually (handles, freehand, m mode) or switches AI slices off with key D, the program stores a learning example for the gland network in daten\druese_lernablage\: crop as in section 2.4 over all slices of the AI run, prostate158 template, network contour, user contour as target and the corrected slices – without names, file name as above. It is saved after the next lesion run, at every change of examination and at program end; a signature prevents duplicate storage, the status line gives the number of examinations stored so far.
Retraining. Retraining is deliberately not part of the program interface (nor of the OPEN version) but a separate tool (tools/nachlernen.py, options --druese, --herd or --beide). It fine-tunes the respective network from the built-in state (learning rate 2 · 10⁻⁴, 10 epochs by default) and mixes the own learning examples (drawn fivefold) with the PROSTATEx training data [8, 9] as a memory against forgetting; reference outlines judged faulty remain excluded. For the gland network only the corrected slices of the own contours count by default. Every fifth PROSTATEx training patient forms a fixed test group that is not retrained; since the old network knows these patients, the comparison is strict for the new network. Only what is not worse is adopted:
- Gland network: Dice coefficient of the test group new ≥ value of the unseen cross-validation − 0.005 and ≥ old − 0.02; on the own contours – fourfold cross-validated, i.e. unseen, and measured as in the program including fallback to the template and volume guard – on the corrected slices and on the whole gland new ≥ old.
- Lesion network "mp": in the test group at most one reference finding hit within 5 mm fewer than before, marks without a reference finding per patient at most 0.05 more, and in the own regions judged as lesion a mean AI probability new ≥ old.
Without --anwenden only a trial with a report is produced. With --anwenden the tool writes the new weights to <program folder>\models\druese or \herdnetz; the old network is kept as *.vor_<time>.pt, the new checksum and a history entry "nachgelernt" are written to the json description. The source states (factory state) remain untouched.
2.12 Multiplanar display and panel strip
Isotropic grid. Axial, sagittal and coronal T2 are resampled onto a common isotropic grid (_mpr_bauen): axes of the axial T2, extent = union of all three series, edge length = max(1.0 mm, smallest voxel, extent/160) – typically 1.6–2.5 mm per study. The prostate mask is not interpolated as a binary volume but via signed distance fields per slice at the real world position (_mpr_maske_iso), so that the contour sits correctly even with missing or unevenly spaced slices. The sag/cor panels are brought to the same mm-per-screen-pixel scale as the axial image (achs_fov_mm).
Size rule (since 10 Oct 2026, rule of the application): lesions below 5 mm in-plane receive no category, lesions below 10 mm are considered uncertain; neither is ever shown by default – not even category 5 or rank 1 – but both are switchable in the lesion window, lesions below 5 mm rank last. The displayed size counts. PI-RADS 2.1 states no minimum size; its only size criterion is the 1.5 cm boundary between category 4 and 5. Its descriptors ("focal", "circumscribed", "lenticular", "non-encapsulated") presuppose a delineable shape, a finding must agree across several sequences, and it must be targetable for a biopsy. Hint and report justify the rule per lesion with the figures of the examination: pixel size and slice thickness of the diffusion (highest measured b-value), number of diffusion pixels and slices of the lesion, background noise (estimated from the image border) relative to the tissue signal. The assessment names hidden category 4/5 lesions explicitly. In the "AI lesions only" mode the size rule acts only on the adopted PI-RADS category (section 2.10).
Multiplanar view. After the PIRADS computation the view opens with axial, sagittal and coronal panel (coupled green crosshair, mouse over one panel sets the focus in the others), positioned on lesion rank 1; the rule-based lesions appear as category-coloured areas with the red area underneath and the rank number, in the "AI lesions only" mode the AI lesions as a red (confirmed) or orange (unconfirmed) outline with rank number; the red circle is drawn only if the switch "Circle" in the lesion window is on. The lesion window (key L, right-click on a rule-based lesion or button "PI-RADS lesion list" in the dialog of an AI lesion; own process, non-modal) lists the lesions as a table – on/off, rank, category in image colour, zone/side (right, left or bilateral: ≥ 20 % of the lesion pixels and ≥ 4 mm beyond the prostate midline), position, size, ADC core (× zone reference), DWI/T2 category, DCE, note, in the "AI lesions only" mode in addition one AI line per lesion (AI probability or "added by the physician", confirmation, PI-RADS category on site) – with a detail line, quick selection and jump to the lesion; every change is reported to the viewer as a live line and takes effect immediately in all three planes. Lesion areas, circles, rank numbers and contours are drawn as vector overlays at window resolution (sub-pixel curves, threefold supersampled) and are clipped to their panel when panned in the zoom.
Panel strip (F6). Below the T2 row: ADC (10⁻⁶ mm²/s), diffusion b_max, DCE (early enhancement 0–200 %; only if the DCE shows a definitely pathological lesion – DCE lesion with wash-out or DCE-positive displayed lesion –, otherwise the footer "DCE: no definitely pathological lesion" in the PIRADS-3 panel) and PIRADS 3 (T2 crop with red lesion area and rank numbers). Shift+F6 extends it by eADC, cDWI and, if available, IVIM-DKI. In the "AI lesions only" mode the ADC and diffusion panels carry the outlines of the AI lesions (red/orange), the PIRADS-3 panel shows the note "P3 map off – AI lesions only". A splitter controls the size ratio between T2 row and strip; Ctrl+wheel zooms all images, Ctrl+drag pans.
Hints. When pointed at, every lesion shows a two-part hint (measurements: diameter, craniocaudal, volume, ADC core/median, DWI strength, T2 contrast, DCE; assessment: category with rationale per pillar, zone, position basal/mid/apical from LPS z, rank). Panel titles explain the computation and the rules.
2.13 Out-of-plane display (experimental, display only)
Principle. Key X (or the footer button with the planes icon) switches the three T2 panels of the multiplanar view to freely tiltable planes (mehrstapel_fenster, no separate window). Three mutually perpendicular planes through a crossing point are shown; the start is the focus of the three-plane view with the crop and scale of the axial image – untilted, the axial panel looks as usual. When switched off (X or ESC) the three-plane view takes over the crossing point as its focus. Computational paths (ADC, lesion search, AI networks, measurements) remain untouched.
Operation. A handle at the end of a trace line rotates the other two planes about the normal of this panel (any double-oblique orientation); click = crossing point; mouse wheel = shift along the panel normal (Shift × 5); Ctrl+wheel = zoom; right mouse button or Ctrl+left drag = pan; R = straight (series axes, start point); P = sagittal tilt along the prostate long axis; "," / "." = plane of the panel under the mouse.
Source (key O) and interpolation (key I). By default the source "Original" applies: each plane comes only from its own measured series (axial from ax, sagittal from sag, coronal from cor; if a series is missing, from ax), sampled directly in the voxel grid of that series – without points of the other sequences. O cycles original → ax only → sag only → cor only → reconstruction; the reconstruction from all three series (SIRT, mehrstapel.rekonstruieren) is computed in the background and applies only within the box around the prostate. I toggles the interpolation between the slices of the own series (on by default: trilinear at the world points; off: nearest measured slice). The plane is sampled per touched slice by cv2.remap with a slice weight – with the same result as trilinear sampling.
Limits of representability. For each panel the crossing point is limited along its normal to the span of the series that this panel shows (intersected with the axial stack) – also after a change of source and when a series is reloaded; the display thus never goes beyond the measured range of a sequence.
Overlays and strip. Prostate contour and lesions are cut in every plane with sub-pixel accuracy: mask sampled at half the voxel spacing, Gaussian smoothing 0.8 voxel, doubly fine raster, ring smoothing, floating-point polygons; with magnified display as vectors at window resolution. Lesions: PI-RADS 4 yellow, 5 white, in the "AI lesions only" mode red or orange; the prostate contour only on request (key C, mpr_organkontur, off by default). ADC and diffusion in the F6 strip tilt along with the axial plane (title "tilted"), smoothed for display only and never with super-resolution. Super-resolution (menu line "MPR (out-of-plane) with SR") and smooth paging with the mouse wheel (menu line "Also in MPR") apply here as well (section 2.14).
2.14 Display super-resolution and smooth paging (display only)
Optionally (chip "SR", key V; on by default) axial, sagittal and coronal T2 as well as the DCE and the PIRADS-3 image are upscaled for display by Real-ESRGAN (BSD-3-Clause; networks in the AI process, command "S") and drawn instead of the bicubic interpolation when magnified – only where no overlay lies. ADC and diffusion are never upscaled, not even in the tilted planes. For sagittal/coronal the native series is finely reformatted for this (3 × iso). A right-click on the chip opens the network choice (x4v3 by default) and the lines "MPR (out-of-plane) with SR" and "Network in MPR" (x2plus recommended or as above). Smooth paging (chip "RIFE", GPU only): RIFE (MIT) computes in-between frames and cross-fades; a click toggles it, a right-click selects 1, 3 (default) or 7 in-between frames, the duration (0.12 / 0.20 / 0.35 s) and "Also in MPR (out-of-plane)". Axially RIFE is independent of super-resolution, the sag/cor transition needs it; contour and lesions glide along geometrically. On computers without a CUDA GPU (CPU version) the super-resolution is retained, fixed to the compact model x4v3, computed only in the prostate crop (axial ≥ 62.5 % of the edge, sag/cor prostate + 20 mm), without network menu and without in-between frames. ADC, diffusion, lesion search, AI networks, measurements and report never see these images.
2.15 3D lesion stack and MR/US fusion biopsy simulation
Geometry. Key T (F7) builds a self-contained HTML page from the report sketch (_prostata_stapel_html, without external libraries, WebGL with canvas fallback) and opens it in the browser. The basis is _skizze_geometrie: all slice contours of the prostate in normalised stack coordinates (0..1 of the LR/AP box, lr_mm, ap_mm, slice spacing gap_mm, craniocaudal length cc_mm) and, per displayed lesion, the boundary polygons per slice as well as the slice centres; in the "AI lesions only" mode these are the AI lesions including outlines corrected by the physician. From the slice splines of every lesion a smooth closed volume arises (diffusion.stapel_herd_mesh): between the lesion slices the signed distance field is interpolated linearly (missing intermediate slices bridged), above the topmost/below the lowest slice the volume continues half a slice thickness and rounds off; result triangle mesh (verts/faces). The prostate surface is built as a mesh of 72 rays per slice with elliptical caps; all contours are B-spline smoothed.
3D view. Dragging rotates (azimuth/tilt, trackball), the wheel zooms; labels basal/apical, right/left, anterior/posterior, tinting of the thirds, legend of the lesions (colour = rank). Lesions appear semi-transparent; a click on a report row aligns the probe with the lesion.
Rendering (WebGL with fallback). The graphics card draws the prostate slices, lesion meshes, the probe body (3D image, US image, biplane inset) and the movement keys on the transducer as real bodies via WebGL into a canvas outside the page; the result is inserted into the 2D canvas at the same place in the drawing order. Because the projection is a parallel projection (affine per frame), the graphics card hits exactly the same pixels as labels, hit testing and needle in the 2D canvas. Per-pixel lighting following the shading profile of the probe sketches with gloss, edge smoothing by multisampling. Fallback to the previous canvas-2D path without WebGL, with a software renderer, on context loss or errors; on first use the page measures both paths per part (scene, probe) and takes the faster one. Measured (processor time per frame, 914 × 960 pixels, headless Chrome with RTX 3090): rotating 3D 4.6 → 0.7 ms, TRUS simulation 14–24 → 1.8–2.3 ms. Drawn lines (slice contours, outlines, edges of the sound plane and cut surfaces) and the enclosing spheres are omitted; the lesions are strongly coloured (90 % opaque), smoothly shaded in the WebGL path; needle, guide and labels remain.
Fusion simulation (button "Complete MR/US fusion simulation"). The simulation adds a transrectal transducer and a schematic ultrasound image to the 3D scene:
- Probe model. Stylised bodies of revolution (tip, shaft, neck, handle with grooves, cable, acoustic window) from
_sonden_spec.SPECS– end-fire and side-fire/biplane designs with manufacturer-typical proportions (among others BK, Hitachi, Philips, GE, Siemens, Canon, Esaote, Mindray, Samsung, Koelis, ExactVu; without brand logos). The manufacturer selection sets probe type, typical needle-guide angles and, where applicable, the access (approximate values, to be checked against the instructions for use). The probe axis lies on the midline, the probe surface on the posterior contour (rectal wall); insertion depth at least 70 mm. - Biopsy position. The MRI position (supine) is transferred to the lithotomy or lateral position by tilting the prostate rigidly about its centre relative to the probe (base anterior), tilting it laterally, shifting it and compressing it in the AP direction – typical literature values of MR/TRUS fusion (a few mm, 5–15°, about 10 %), no patient measurement; all values are editable. Slice contours, prostate and lesion meshes and the probe position follow this mapping.
- Ultrasound image. Per probe type an image plane is defined (origin, normal, sector with half-angle and radius): end-fire = longitudinal plane from the tip with adjustable tilt; side-fire = axial or sagittal sector (biplane: both planes, the second as an inset). In the sector the section of the prostate mesh (capsule), the sections of the lesion volumes with the hit circle of the enclosing sphere, a cm scale and orientation chips are drawn (longitudinal planes mirrored: base left, apex right). A sweep moves the probe automatically from apex to base and back.
- Needle guide. Transrectal: needle through the guide on the probe at an angle of 5–45° to the probe axis (end-fire from the tip, side-fire only in the sagittal sector). Transperineal: the probe stays in the rectum, the needle enters at the perineum and runs parallel to the probe axis at an adjustable height above the probe surface (5-mm grid, needle height instead of angle).
- Targeting. "Target lesion" or a click on a table row aligns the probe so that the guide line passes through the lesion centre (
zielen: rotation from the midline out of the lesion centroid, insertion from the apex along the guide), and places the needle tip 1 cm in front of the lesion's leading edge (kante: intersection of the guide with the lesion polygon in the longitudinal plane). - Virtual biopsy. The biopsy fires the 2-cm carriage (animation) and evaluates the 2-cm core cylinder from the needle tip millimetre by millimetre (
treffer): per millimetre the needle point is projected into the longitudinal plane and checked by point-in-polygon against the prostate section and the lesion sections; result in the footer, e.g. "prostate 18 mm, lesion 1: 9 mm" or "no lesion hit". - Report data. Table per lesion: depth from apex, clock position (in the axial section), distance from the probe surface, side, insertion from apex, rotation from the midline, needle path to the lesion's leading edge (
ziel).
The simulation is a geometric planning aid based on the MR geometry (rigid position mapping, no tissue deformation, no real ultrasound signal) and does not replace a fusion biopsy platform.
2.16 Report and export
Creation. The button "Report" (F2, only in the multiplanar view; the label names the selected program, e.g. "Report · HTML") creates the report in a background thread; meanwhile a box "Report is being created" shows the phase and a progress bar with elapsed time, and input is locked. Content: patient details, examination analysis, per lesion measurements and category with rationale, DCE result, position (third, zone, side), lesion volume and assessment; the analysis alone is available via the "Analysis" button.
Storage. Every report is saved as <program folder>\Reports\<patient name>_<YYYY-MM-DD>.html or .docx (name from the DICOM field PatientName, otherwise the examination name; date = day of the evaluation); an existing report is never overwritten, on the same day _2, _3 and so on follow. After saving, a box names the path. Only if the folder cannot be created is the temp folder used.
HTML report (_report_html_bauen, default since 11 Oct 2026). F2 creates the report as ONE HTML file and opens it in the default browser. A fixed header bar sits at the top of the window: link "Report", toggle buttons "3D", "A1", "A2" and "A3" that switch the respective section on and off (by default 3D on, appendix off; a click shows the section and jumps to it), links to the website and the contact page, and "Print / PDF" – what is shown is printed; in print the key-image panel replaces the 3D view. The report contains header, prostate and examination with a PSA field (instant calculation of the PSA density = PSA / prostate volume, elevated from 0.15 ng/ml/ml, decimal separator according to language), lesion table and assessment, the freely rotatable 3D view with the fusion biopsy simulation of section 2.15 – embedded directly via srcdoc and loaded only when shown (no prompt, no attachment; "Enlarge" = fill the window) –, the key-image panel and the technical appendix A1–A3. The same data and texts as the Word report: A2 (_befund_a2_eintraege) and A3 (_herdfindung_bloecke) come from shared functions for both formats. The AI model attribution (CC BY) is at the bottom.
Report in the "AI lesions only" mode. The lesion table lists the AI lesions (grading e.g. "AI 97 %, confirmed", "added by the physician (AI missed it)" or "outline corrected by the physician"), followed by a note on the origin of the category. The assessment gives the number of confirmed and unconfirmed AI lesions and per lesion location, size, source, confirmation and the PI-RADS category of the rule-based lesion on site with reasoning or "no PI-RADS category"; a note states that the grading follows PI-RADS 2.1 [2] by analogy, that the AI probability is not a PI-RADS category and that the physician's assessment remains decisive. A3 then starts with a section 0 "AI lesion search" (network, confirmation, grading, physician's judgement). If the mode is off, the report contains the rule-based lesions and – with the AI lesion map switched on – the section "AI second opinion".
Word or LibreOffice Writer. A right-click on "Report" cycles through HTML, Word and LibreOffice Writer (programs not installed are skipped; the choice is stored in config.json, bericht_programm, and shown as a box for 2.5 s). Without a stored choice HTML applies; if building the HTML fails, a Word document is written, only in an emergency a text file. Word documents are written as OOXML without third-party libraries and carry the links to website and contact below the copyright line.
3D in the Word report. Page 2 shows the rotating 3D GIF (_prostata_stapel_gif, also saved as <report>_3D.gif next to the report) and the key-image panel. Tried and discarded (user: unusable in practice): the Word 3D model (glTF, OOXML model3d – Word rotates only via a small handle in the centre) and an embedded OLE package with the 3D view (only by double-click and after Word's prompt). Word can only play a GIF as a whole, not scrub through its frames with the mouse, and embeds only online videos.
Key-image panel. Four fixed views (_glb_schluesselbilder_png: anterior, left lateral = sagittal, caudal = axial, oblique from front right above) at the same scale, with outlines, lesion numbers, 1 cm bar and axis cross; own painter with supersampling, font Segoe UI (Pillow, otherwise a cv2 fallback). The geometry comes from the same sketch as the 3D view (_prostata_stapel_glb(..., nur_teile=True)).
Word report layout (_report_docx_bauen, since 10 Oct 2026). At the top a contents line with references, then the clinical core: header, prostate and examination (one table with the quality grade), lesion table and assessment. On page 2 the 3D view (GIF and panel). At the end, on a page of its own, the technical appendix, always open: A1 examination quality and sequences, A2 measurements and notes per lesion, A3 how lesions are found – a summary of sections 2.8 and 2.9 in four tables (search, grading per sequence, sizes in-plane and in space, PI-RADS rules per zone), in the "AI lesions only" mode additionally section 0 following 2.10; the thresholds come directly from the constants of the program version. References in the report jump to the bookmarks with Ctrl + click, every appendix section leads back to the top with '↑ back to the report'; in the PDF the references are clickable. Collapsing headings, possible in Word, was tried and discarded (unusable in practice, collapsed sections are not printed). The document carries compatibility mode 15 (settings.xml), otherwise Word shows 'Compatibility Mode'.
PSA density in the Word report (_dx_psa_felder). The table 'Prostate and examination' holds a classic Word form field 'PSA' (text field with 'calculate on exit'). After typing the value and pressing Tab, Word calculates the PSA density = PSA / prostate volume and grades it (elevated from 0.15 ng/ml/ml) – with Word fields, without macros. The volume enters as an integer in tenths of a ml and the comparison as density × 100, so the calculation does not depend on the decimal separator of the Word language. To make the field fillable, the document is set to 'filling in forms', but only the small section with this table is protected (<w:formProt/>); all other sections carry formProt=false and stay freely editable. Without a volume the field is omitted. LibreOffice shows the field but does not calculate.
2.17 Framework of the OPEN version
OPEN loads only via folder selection/drag & drop, has no archive dialog, no backup and no patient list; at program end and at the next start all working folders are deleted. Only the program data in <program folder>\daten – settings, logs, corrections and case register (figures without image data), physician judgements including corrected lesion outlines and the nameless learning examples (sections 2.1 and 2.11) – and the generated reports in <program folder>\Reports (section 2.16) persist beyond the session; imported images, contours and maps of the session are deleted. The PIRADS computation is limited to 30 runs per computer (countdown per computation, shown on the entry screen); the counter is kept in config.json, in the program folder and in two machine-wide signed stores (%LOCALAPPDATA%\deepnet, %ProgramData%\deepnet) and thus survives any reinstallation. It is reset according to the two-key principle: the signed marker file carries a request code (purpose, machine identifier from the Windows MachineGuid, sequence number); the user mails it to the licensor, who signs an unlock key with his private RSA-2048 key (PKCS#1 v1.5, SHA-256, Base64url); the program verifies it with the built-in public key, sets the counter to zero and increments the sequence number, so that each key is valid exactly once on exactly one computer. The same mechanism secures the one-time installation of the installer per computer and the activation after installation: before the first examination can be loaded, the program requires an unlock key for the request code PC-AKTIV-… (machine-wide marker prostate_commander_aktiv.dat); the dialog opens only with the main window in place, a start with a folder argument is caught up afterwards. The installer sets up the AI environment as an embedded Python in the installation folder (GPU/CUDA torch matching the driver or a pure CPU version), without system entries; the weights of the own networks are located under models\druese and models\herdnetz.
3 Results (exemplary figures)
The following values come from logs of the development computer (NVIDIA GeForce RTX 3090, 20-thread CPU) with test data sets; they describe runtime behaviour, not diagnostic quality. For the AI components only runtimes are reported here; a validation on independent data takes place outside this document.
Table 3. Exemplary runtimes and intermediate values of the development computer.
| Step | Example value |
|---|---|
| DWI header scan (691 entries, 551 DICOM headers) | 0.3 s |
| T1 header scan | 0.1 s |
| Loading 20 axial T2 slices incl. sag/cor copy (20 each) | ≈ 3 s |
| AI process cold start (loading the 3D model) | ≈ 15 s (GPU), warm-up during installation |
| Zone map (20 slices, GPU) | 0.1 s from the inference cache (≈ 4 s as a separate run) |
| From segmentation to the finished multiplanar view (case A, 20 slices, 4 b-values, DCE 15 phases) | ≈ 7–10 s (previously 17 s) |
| Lesion map, rule-based (case A) | 2.0 s |
| AI lesion map (lesion network, T2 network, cluster C3; GPU, in the background) | ≈ 0.6–1 s |
| Study-wide DWI threshold case A | 36.6 (median 24.8, σ 4.7) |
| ADC plausibility case A | ratio 1.013 (median 1075 vs. 1061 · 10⁻⁶ mm²/s, n = 36,493) |
| Auto-alignment case A | 18 slices, median 2.2 mm, max. 3.2 mm, z 0 |
| Isotropic grid (case B) | 2.45 mm, 69 × 87 × 161 voxels |
| Super-resolution axial (GPU) | ≈ 0.01–0.03 s per image |
| Super-resolution sag/cor (CPU version, crop) | ≈ 0.04 s per plane (instead of 0.3–0.6 s whole plane) |
| New axial slice when paging (GPU, with SR + RIFE) | 62–78 ms to the first frame |
| Out-of-plane: frame after one mouse-wheel step | ≤ 80 ms (previously ≈ 300 ms) |
Out-of-plane: plane sampling per slice (cv2.remap) versus trilinear sampling |
same result (deviation ≤ 10⁻⁵), 3–11 × faster |
| HTML report (F2, background thread) | ≈ 2 s |
The regression tools (tools/herdstudie_regress.py, tools/pipeline_profil.py with result signatures across several pipeline caches) ensure that changes to the lesion search leave the visible lesions of the reference cases unchanged; end-to-end tests drive the viewer via window messages and evaluate log and screen captures. For the own networks it was verified that crop and normalisation in the program match the input of the training pipeline (pixel-identical input for gland and lesion network).
4 Discussion
Design decisions. The chain follows four principles: (1) measurements remain untouched – ADC from measured b-values, without spatial filters, nearest neighbour instead of interpolation, plausibility check against the vendor ADC with a warning instead of a correction; network inputs are internal copies; (2) rules for the grading – the category logic is modelled on PI-RADS 2.1, every decision (zone, pillars, thresholds) can be read in the hint and explained via the correction mode; learned networks propose lesions and refine the contour but do not determine the PI-RADS category: an AI lesion takes the grading of the rule-based lesion on site or remains without a category, and it counts as confirmed only with a second signal, a very high probability or the physician's judgement; (3) display and computation are separated – super-resolution, in-between frames and tilted planes serve the eye only; (4) the physician remains the authority – the user's contour takes precedence over the AI, physician judgements take effect immediately, and retraining is adopted only after passing the test and with a backup of the old network.
Limitations. The lesion search is tuned on test cases and not clinically validated; thresholds (e.g. 20 % T2 contrast, ADC 750/900, DCE criteria, the factors of the diffusion cluster) are derived from the rule set and example cases. The own networks were trained on a single public data set (one vendor, 3 T, b-values up to 800 s/mm²); transferability to other scanners, protocols and higher b-values has not been tested, and the AI lesion map is labelled experimental. Network inputs – unlike the displayed values – are sampled bilinearly into a crop. The gland network cannot add or remove a slice; the volume guard discards larger deviations entirely. Retraining with few own examples can shift uncorrected regions; hence the strict adoption test. The zone map depends on the AI; without AI a global reference applies. The alignment is rigid (translation, one z offset), deformations are not modelled. The out-of-plane display is experimental; with the source "Original" each plane shows only the resolution of its own series. The fusion simulation maps the change of position between MRI and biopsy only as a rigid tilt/shift/compression with literature values and renders no real ultrasound signal; it is a planning and teaching aid. Beyond the session OPEN keeps only the program data in the folder daten and the reports (section 2.17) and is limited to 30 computations.
Outlook. Conceivable are a deformable MR/US registration, a systematic evaluation against histological references, retraining from within the program interface and the extension of the simulation to systematic biopsy schemes. These points are not part of the pilot project.
5 Conclusion
Prostate Commander Open maps the path from the DICOM examination via a rule-based lesion search modelled on PI-RADS 2.1, complemented by own learned networks for the gland contour and lesion proposals, to the report and the MR/US fusion biopsy simulation in one application. The processing is documented in a fully traceable way, all computations remain on the original data, the PI-RADS grading remains rule-based, physician judgements take effect immediately and flow back into the networks only after testing, and every stage is explained in the program itself. The pilot project shows that such complex specialist software becomes operational in a short time through the interplay of expert and agentic AI.
References
- Turkbey B, Rosenkrantz AB, Haider MA et al. Prostate Imaging Reporting and Data System Version 2.1: 2019 Update of Prostate Imaging Reporting and Data System Version 2. Eur Urol 2019;76:340–351.
- American College of Radiology: PI-RADS Prostate Imaging – Reporting and Data System, Version 2.1 (acr.org, PDF). The fixed thresholds used in this application are an own operationalisation of the criteria formulated there qualitatively.
- Adams LC, Makowski MR, Engel G et al. Prostate158 – An expert-annotated 3T MRI dataset and algorithm for prostate cancer anatomy and lesion segmentation. Comput Biol Med 2022;148:105817. Model and weights: github.com/kbressem/prostate158, Zenodo 10.5281/zenodo.6397057 (CC BY 4.0).
- Wang X, Xie L, Dong C, Shan Y. Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data. ICCV Workshops 2021 (BSD-3-Clause).
- Huang Z, Zhang T, Heng W, Shi B, Zhou S. Real-Time Intermediate Flow Estimation for Video Frame Interpolation (RIFE). ECCV 2022 (MIT).
- Cardoso MJ et al. MONAI: An open-source framework for deep learning in healthcare. arXiv:2211.02701, 2022.
- Bradski G. The OpenCV Library. Dr. Dobb's Journal of Software Tools, 2000.
- Litjens G et al. ProstateX Challenge data. The Cancer Imaging Archive, 2017. DOI 10.7937/K9TCIA.2017.MURS5CL (CC BY 3.0). Training data of the gland and lesion networks.
- Cuocolo R, Stanzione A, Castaldo A et al. Quality control and whole-gland, zonal and lesion annotations for the PROSTATEx challenge public dataset. Eur J Radiol 2021;138:109647 (CC BY 4.0). Reference outlines for gland, zones and lesions.
- Ronneberger O, Fischer P, Brox T. U-Net: Convolutional Networks for Biomedical Image Segmentation. MICCAI 2015, LNCS 9351:234–241.
Appendix A – Essential parameters of the lesion search and the AI networks
Table 4. Parameters of the rule-based lesion search, the AI lesion search and the editing tools (constants of the program version).
| Parameter | Value | Meaning |
|---|---|---|
_ADC_BMIN |
100 s/mm² | smallest b-value in the ADC fit |
_SIG_SCHWELLE_FRAKTION |
0.10 | noise threshold (fraction of the 97th percentile of the b0 signal) |
_HERD_DWI_REL_FAKTOR / _SIGMA |
1.3 / 2.5 | study-wide DWI threshold = max(1.3·median, median + 2.5·σ) |
_HERD_TOP_PERZ |
97 | diffusion per slice: highest 3 % |
_HERD_ADC_LO / _HI / _KAND_HI |
250 / 900 / 1000 | ADC window core / candidate band (10⁻⁶ mm²/s) |
_HERD_ADC_KAND3_HI |
1300 | DWI-3 candidates (PZ only, T2 ≥ 20 % below reference) |
_HERD_MIN_MM / _SOLIDITY_MIN / _ACHSVERH_MAX |
2 mm / 0.55 / 4 | shape filter |
_HERD_FORM_OEFFNUNG_MM |
1 mm | opening of ragged components before individual checking |
_T2K_KONTRAST_MIN |
0.20 | T2-first: contrast to the 2–8 mm ring |
_T2K_MIN_DM_MM / _MAX_DM_MM / _MAX_CC_MM |
5 / 18 / 21 mm | T2-first: focal size |
_T2K_PZ_ADC_MAX / _PZ_DWI_FAKTOR |
1100 / 1.2 | PZ confirmation of a T2 candidate |
_K21_ADC_DWI4 (= _K21_ADC_DWI5) |
900 | ADC core for DWI category 4; 5 = the same from 15 mm |
_K21_ADC_STARK |
750 | strong diffusion restriction (TZ: P3 + strong → 4) |
_T2_HOMOGEN_QUOT / _T2_HOMOGEN_MIN_DM_MM |
0.5 / 10 mm | T2 homogeneous (TZ, DWI ≥ 4) → T2 category 3 |
_RAUM_MIN_DM_MM / _RAUM_VERSATZ_MM |
10 / 6 mm | merge lesion parts in consecutive slices in space |
_K21_DWI_HELL |
0.5 | DWI pillar for "clearly hyperintense" |
_K21_T2_KAT4 / _K21_T2_KAT3 |
0.30 / 0.20 | T2 contrast for T2 category 4 / 3 |
_PIRADS_DM5_MM |
15 mm | category 5 from 15 mm in one plane or EPE |
_PIRADS_MIN_DM_MM / _TZ |
5 / 5 mm | below this in-plane diameter no category (since 10 Oct 2026; before 3 / 4 mm) |
_KLEIN_UNSICHER_DM_MM |
10 mm | below: "uncertain" – never shown by default, switchable (since 10 Oct 2026) |
_AUGE_T2_MIN |
0.20 | mandatory T2 contrast ("radiologist's eye") |
_AUGE_REL_VMAX / _AUGE_REL_PROSTATA |
0.25 / 0.0015 | relatively largest lesions |
_AUGE_KLEIN_NEBEN_GROSS |
0.75 | axis ≥ 75 % of the unambiguous lesion |
_AUSD_MAX_MM / _AUSD_HALB |
3 mm / 0.35 | lesion extent (red area) |
_DCE_POS_MIN_E / _FAKTOR / _ANTEIL |
0.50 / 1.25 / 0.40 | DCE positive per lesion |
_DCEK_MIN_E / _FAKTOR / _TMAX_S / _WASHOUT_MIN |
0.80 / 1.75 / 60 s / 0.20 | DCE lesions (DCE panel only) |
_SEITE_BDS_ANTEIL / _SEITE_BDS_MM |
0.20 / 4 mm | side "bilateral": share and extent beyond the midline |
_AUTO_VERSATZ_MIN_RESPONSE / _MAX_MM |
0.15 / 15 mm | acceptance of an automatic offset |
_MPR_ISO_MM |
1.0 mm | minimum edge of the isotropic grid (max. 160 voxels per axis) |
_OPEN_PIRADS_LIMIT |
30 | computations per computer (OPEN) |
_MITTE_MAX_MM (ki_seg) |
25 mm | prostate158: largest 3D component near the body midline |
_KI_MAX_PUNKTE / _GRIFFE_MAX |
12 / 6 | control points of the AI contour per slice / of which visible handles |
N / PX (druese_ki, herd_ki) |
160 / 0.6 mm | network crop 96 × 96 mm around the gland centroid |
NACHBARN (ki_herdnetz) |
2 | neighbouring slices per side (slice k ± 2, five slices) |
_MAX_AENDERUNG (druese_ki) |
0.4 | volume guard of the gland network: result only at 0.6–1.4 × template |
schwelle_mp (herdnetz.json) |
0.7852 | AI lesion: minimum maximum of the network probability |
Candidate region (ki_herdnetz.kandidaten) |
≥ 0.5 / ≥ 5 mm | region (26-neighbourhood) and greatest in-plane diameter; P3 area with maximum ≥ 0.5 |
| Cluster C3: ADC factor TZ / PZ, DWI factor | 0.85 / 0.75; 1.2 | conspicuous pixel (× zone median) |
| Cluster C3: σ / ρ / z / slices | 3 mm / 0.4 / 3 / ≥ 2 | density smoothing, density threshold, significance, minimum slices |
_HOCH (herd_ki) |
0.995 | AI lesion confirmed even without a second signal |
_KI_HS_ABSTAND_MM |
5 mm | confirmation and adoption of the PI-RADS category (rule-based lesion on site) |
_HERD_EDIT_GROSS_MM / _RAND_MM / _MAX_MM |
10 / 3 / 15 mm | lesion editing: from 10 mm four handles (otherwise two), growth beyond the gland, mouse-wheel range |
| Retraining: learning rate / weight of own examples / test group | 2 · 10⁻⁴ / 5 / every 5th patient | tools/nachlernen.py (10 epochs by default) |
Appendix B – Controls along the chain
Table 5. Controls in the order of processing.
| Control | Effect |
|---|---|
| Button MR / key L, drag & drop | load examination (folder, DICOMDIR, ZIP) |
| Button Seg. / key K | AI segmentation followed by refinement by the gland network (automatic for a fresh data set) |
| Key A | contour view cycle: smooth outline (default) → nodes (editing) → mask |
| Key D | slice active/inactive (for AI slices also a learning example for the gland network) |
| Button Pirads / key P | ADC, alignment, DCE, lesion search, AI lesion map, multiplanar build (OPEN: counts) |
| F5 / ESC | multiplanar view on / back to the solo view |
| F6 / Shift+F6 | panel strip compact / extended |
| Shift+E | "AI lesions only" mode on/off (on by default) |
| Key E | AI lesion map or labels of the AI lesions on/off (on by default, experimental) |
| Right-click on an AI lesion | dialog "Assess AI lesion": correct / wrong / change outline / size / withdraw assessment / PI-RADS lesion list |
| Right-click on a rule-based lesion / next to a lesion | lesion window (with "AI missed it") / correction mode (diagnosis, "lesion missing here", "AI missed it – lesion here") |
| Lesion editing: mouse wheel / handles / Shift+mouse wheel / Enter / Esc | size ± 1 mm / outline per slice / slice / apply / discard |
| Key X, footer button with planes icon | out-of-plane in the three T2 panels on/off (experimental; ESC = off) |
| Out-of-plane: drag handle / click / mouse wheel | tilt planes / crossing point / shift plane (Shift × 5) |
| Out-of-plane: key O | source cycle: original (default) → ax only → sag only → cor only → reconstruction |
| Out-of-plane: key I | interpolation between the slices of the own series on/off (on by default) |
| Out-of-plane: key C / R / P | prostate contour on/off (off by default) / straight / align with the prostate long axis |
| Chip SR, key V (right-click = menu) | display super-resolution, network choice, "MPR (out-of-plane) with SR" (display only) |
| Chip RIFE (right-click = menu) | smooth paging: in-between frames, duration, "Also in MPR" (GPU only) |
| Key T / F7 | 3D lesion stack and MR/US fusion biopsy simulation (browser) |
| Button Report / F2 | report (HTML by default) in the folder Reports |
| Right-click on Report | report program cycle: HTML → Word → LibreOffice Writer |
| Button Analysis | examination analysis (Word) |
| Chip GPU/CPU, key G | computation mode of the AI |