Posda Tools
  1. Posda Tools

oneposda

Public
AuthorCommitMessageCommit dateIssues
Quasar JaroszQuasar Jarosz
01b336219b2magicka: render projections with pydicom+numpy, drop ImageMagickThe old pipeline shelled out to ImageMagick: one `convert` per slice to JPG, then `convert dir/*.jpg -maximum/-minimum/-average`. That final step loaded the entire decoded stack into memory at once, so large series drove RSS past 5Gi and got OOM-killed. Replace it with a single streaming pass: pydicom decodes each frame, and a running max/min/sum accumulator folds them in one at a time. Only t...
Michael RutherfordQuasar JaroszMichael Rutherford
1e909618499MPull request #426: Set executable bit on scripts missing +x (fixes prod "Permission denied")Merge in PT/oneposda from dup-series-fix to master * commit '0cfc79c8459ebe7fe57ba867c5f279ca67c2ed95': Set executable bit on scripts missing +x (fixes prod "Permission denied")
Michael RutherfordMichael Rutherford
0cfc79c8459Set executable bit on scripts missing +x (fixes prod "Permission denied")
Quasar JaroszQuasar Jarosz
78970eb91bbAdd executable bit to a number of python scripts that were missing it
Michael RutherfordQuasar JaroszMichael Rutherford
871dadc1889MPull request #425: Add filtering routes for masking visual reviewMerge in PT/oneposda from feature/TADMIN-1732-add-type-status-filtering-to-mask-and-mask-review to master * commit '9914f9acc88486e33fc09f0636ce2810a26aa8d6': Add filtering routes for masking visual reviewTADMIN-1732
Michael RutherfordMichael Rutherford
9914f9acc88Add filtering routes for masking visual reviewAdd GET /visualreview/{id}/values and POST /visualreview/{id}/filter, modeled on the existing DICOM visual-review filtering in visualreviews.py. Filters masking IECs by dicom_file_type and masking_status (with '*' wildcard and NULL support), leaving the existing awaiting_review endpoint untouched for backward compatibility. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Quasar JaroszQuasar Jarosz
dad53fca3c4Move VolumeGeometryReport into the Consistency Checking group
Quasar JaroszQuasar Jarosz
d83bffd6b8dAdd new VolumeGeometryReport script, and Workflow entry
Michael RutherfordQuasar JaroszMichael Rutherford
d3bcde8c082Update notes and finalize for pre-release (sans fixer functionality)
Michael RutherfordQuasar JaroszMichael Rutherford
886e7175fccUpdate buttons and add small bottom margin
Michael RutherfordQuasar JaroszMichael Rutherford
43b06532290Add RT linkage checker
Michael RutherfordQuasar JaroszMichael Rutherford
a5e8b7eb16cMove filter to up in workflow to speed up
Michael RutherfordQuasar JaroszMichael Rutherford
ed01e600a5eChange wording on report
Michael RutherfordQuasar JaroszMichael Rutherford
5f10d105353Reporting updates
Michael RutherfordQuasar JaroszMichael Rutherford
180fe07486fPrevent second query to database
Michael RutherfordQuasar JaroszMichael Rutherford
31ab1d09664Remove separate tp lookup
Michael RutherfordQuasar JaroszMichael Rutherford
b0f7cdf0579Add linkage fixer
Michael RutherfordQuasar JaroszMichael Rutherford
9011c4d636eAdd RT linkage checker (Struct, Dose, Plan, Image)
Michael RutherfordQuasar JaroszMichael Rutherford
67e0831f665Update seg linkage checker
Michael RutherfordQuasar JaroszMichael Rutherford
104b3a615c2Update general linkage checker
Michael RutherfordQuasar JaroszMichael Rutherford
7fd8ac991ecAdd linkage class for shared functionality
Michael RutherfordQuasar JaroszMichael Rutherford
9f3db068799Add email buttons
Quasar JaroszQuasar Jarosz
b4ad215c410Do not check missing dispositions if skip_dispositions is trueCurrently BackgroundPrivateDispositionsTpDual.pl checks for missing dispositions and exits if any are found, even if you indicated you want to skip dispositions (and therefore do not care). This commit fixes that.
Sonya UtechtSonya Utecht
d48ff7ba724Added Queries under workflow
Quasar JaroszQuasar Jarosz
7b38c9254e6Remove printe function, just using print so it goes into the email
Quasar JaroszQuasar Jarosz
6d48ae05f5eFixed bug in last commit
Quasar JaroszQuasar Jarosz
8ba6d9c57acFix bugs in nifti parserThe parser was loading the full file into memory, which was unnecessary at this time. Also added extra error handling so in the event of an unknown parsing error, the error is logged to STDERR and parsing continues.
Quasar JaroszQuasar Jarosz
9c1e373c3fbUpdate masking/reviewfiles again, this time to include the real pathThere was a natural join mistake that was returning a null path before
Quasar JaroszQuasar Jarosz
de99f7c0138Update masking/reviewfiles route to actually return the path
Quasar JaroszQuasar Jarosz
61507dcadadcp
Quasar JaroszQuasar Jarosz
8d3a7069220Fix masking/reviewfiles endpoint, I broke it earlierIt calls the File.from_raw(), which now expects a path, but the reviewfiles function had not been updated to return a path.
Quasar JaroszQuasar Jarosz
a5bf17a290bMake ream reconnect to postgres on dropped connectionPreviously a dropped connection would leave ream stuck (set_file_status swallowed the error and the next loop iteration would hit the dead cursor forever). Now we wrap the connection in a Db helper that reconnects with exponential backoff up to a 5min deadline, then sys.exit so the supervisor restarts us. set_file_status retries the insert after reconnect so we don't lose the in-flight file's s...
Quasar JaroszQuasar Jarosz
a205e02362aUpdate logging for login attempts, so it's all on one lineThis places the attempt and the success/failure on a single line, to ease in log analysis
Quasar JaroszQuasar Jarosz
c45d21bafd1mirabelle pin
Quasar JaroszQuasar Jarosz
ec3b0810b3bUpdate iecs/frames endpoint's path to include file_storage_root_idAlso update the pinned mirabelle commit again
Quasar JaroszQuasar Jarosz
dfab16fab0dUpdate pinned mirabelle commit to match last commit (bun)
Quasar JaroszQuasar Jarosz
ea96861780fBegin testing oven/bun for building instead of npm
Quasar JaroszQuasar Jarosz
7395d77403cUpdate mirabelle and posda-api to support direct loading of frames
Quasar JaroszQuasar Jarosz
4e2a9bb0136First version of nginx configs for testing direct static file hosting
Sonya UtechtQuasar JaroszSonya Utecht
d20d3efa7b8MPull request #421: Report QUeries for nifti filesMerge in PT/oneposda from niftiReportQueries to master * commit 'd50799bf46319da4bf382b87e89857f349995200': Report QUeries for nifti files
Quasar JaroszQuasar Jarosz
7634825eb57Add sort to Nifti VR route so they aren't random
Sonya UtechtSonya Utecht
d50799bf463Report QUeries for nifti files
Michael RutherfordQuasar JaroszMichael Rutherford
31902ed407cMPull request #420: Dciodvfy fixMerge in PT/oneposda from dciodvfy-fix to master * commit 'b6710b006d99395cc5204a25ff5ec77575487c9c': Remove fix display with no errors Update macro to append the fix on to the dciodvfy error Updated Fix to remove the error text and add IGNORE for blank fixes
Michael RutherfordMichael Rutherford
b6710b006d9Remove fix display with no errors
Michael RutherfordMichael Rutherford
93d8624772fUpdate macro to append the fix on to the dciodvfy error
Michael RutherfordMichael Rutherford
fafbd4daed5Updated Fix to remove the error text and add IGNORE for blank fixes
Quasar JaroszQuasar Jarosz
93d7801583aAdd migration to remove not null constraint from roi.for_uid
Quasar JaroszQuasar Jarosz
51268f9fa71Update posda.main.file.insert_file_via_api to be more resilientIt no longer gives up immediately if it cannot insert a file via the API, instead retrying after an increasing delay, up to max_attempts (default 5). The delay goes 1s, 2s, 4s, 8s, etc.
Michael RutherfordQuasar JaroszMichael Rutherford
a5636bae111MPull request #418: Macro fixMerge in PT/oneposda from macro-fix to master * commit '4bf85e4ae022977a802f10cf98be6497cbd4e4f3': Fix line endings Update dcio macro to insert error into fix column when no fix found Fix bug in dciodvfy macro
Michael RutherfordMichael Rutherford
4bf85e4ae02Fix line endings