*p5.brush
p5.brush.js is a versatile library for the p5.js ecosystem, tailored for artists, designers, and hobbyists who wish to explore natural textures in generative art. This library extends the drawing capa
Slicer Forge: a 3D Slicer extension for batch DICOM ingestion, de-identification, quality control, conversion, and scene import.
PluginsPython · HTMLGitHub @DaCameraGirlOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
3D Slicer extension: batch ingest, de-identify, QC, and import DICOM via the dicom-forge pipeline
Loading the full README.
Read the full README ↗A 3D Slicer extension that batch-imports DICOM through the dicom-forge pipeline.
slicer-forge adds a DICOM Forge Batch module to Slicer. Point it at a folder of DICOM, and it de-identifies each series (removes patient names and IDs from headers), runs quality control, converts to NRRD, and loads the volumes straight into your Slicer scene — driven entirely by the headless, independently tested dicom-forge library.
| Repo | Role | Tested |
|---|---|---|
dicom-forge | Headless pipeline (ingest · de-id · QC · convert) | Unit-tested in CI without Slicer |
slicer-forge (this) | Thin Slicer GUI on top of it | Self-test runs inside Slicer |
This mirrors how Slicer itself is built (ITK/VTK do the work; the GUI is a shell on top). All the heavy logic lives in dicom-forge, so it is fully testable on its own; this repo stays a small, focused front-end.
pip_install('dicom-anvil[convert]') into Slicer's own Python environment (the engine ships on PyPI as dicom-anvil; it still imports as dicomforge).📖 New to the module? Follow the step-by-step usage tutorial. See the changelog for what has changed.
git clone https://github.com/DaCameraGirl/slicer-forge.git
In Slicer: Edit → Application Settings → Modules → Additional module paths, add the slicer-forge/DicomForgeBatch folder, and restart. The DICOM Forge Batch module appears under the Informatics category.
The repo is laid out for the standard Slicer extension build (CMakeLists.txt + slicerMacroBuildScriptedModule) so it can be built against a Slicer build tree and submitted to the Slicer Extensions Index.
Slicer scripted modules use a fixed four-class shape — this one lives in DicomForgeBatch/DicomForgeBatch.py:
DicomForgeBatch — module metadata.DicomForgeBatchWidget — the GUI panel (built programmatically).DicomForgeBatchLogic — Qt-free logic wrapping dicom-forge (reusable from the Python console).DicomForgeBatchTest — a self-test that generates synthetic DICOM and runs the whole pipeline inside Slicer.The self-test runs inside Slicer (it needs the slicer runtime):
In Slicer's SelfTests module (category Testing) run DicomForgeBatch, or from the Python console:
slicer.selfTests['DicomForgeBatch']().
CI runs on every push at two levels:
⚠️ De-identification is best-effort risk reduction, not a compliance guarantee. See
dicom-forge's SECURITY policy.
A desktop smoke run was captured in 3D Slicer 5.10 using a publicly available, raw DICOM brain MR series from TCIA's ReMIND collection (CC BY 4.0). The archive-assigned case ReMIND-086 / 2D_AX_T2_FLAIR contained 32 MR slices. The local DICOM Forge Batch module processed that input with the moderate de-identification setting, reported QC=PASS, wrote series_000.nrrd, and loaded the resulting volume into Slicer.
This specific desktop run establishes the scenario above: moderate de-identification, QC=PASS, NRRD output, and scene import for this one public MR series. It does not by itself establish NIfTI output, the basic or strict settings on this machine, or clinical interpretation. De-identification is risk reduction, not a compliance guarantee.
Apache-2.0 © Angela Hudson