4.8 KiB
MedGemma and CT processing on server 3060
Date: 2026-11-06
Server access
Server 3060 is reachable from the local Moscow network at 192.168.1.49.
SSH access:
ssh -i ~/.ssh/id_ed25519-3060 naeel@192.168.1.49
Windows key path used for the local setup:
Y:\MY\Nubes\id_ed25519
The private key itself is not stored in this repository or in this document.
Host resources
Verified on the host:
- OS: Ubuntu 24.04.5 LTS, x86_64
- CPU: AMD Ryzen 5 5600, 6 cores / 12 threads
- RAM: 15 GiB
- Swap: 4 GiB
- GPU: NVIDIA GeForce RTX 3060, 12 GiB VRAM
- NVIDIA driver: 580.178.04
- Disk: NVMe, 476.9 GB; approximately 141 GB free at verification time
The host is suitable for local inference with MedGemma 4B. The 27B variants are not a practical fit for this hardware.
CT data
The source CT directory was copied to the host:
/home/naeel/MED_DATA/CY_CT
Verification after transfer:
- 1,669 files
- approximately 1.3 GB
- source data was not modified
No DICOM headers, patient identifiers, or image content are stored in this repository.
Installed environment
The isolated Python environment is:
/home/naeel/MED_DATA/medgemma-venv
Activate it with:
source /home/naeel/MED_DATA/medgemma-venv/bin/activate
Installed and verified components include:
- PyTorch
2.11.0+cu128 - Transformers
5.22.1 - torchvision
- accelerate
- bitsandbytes
- huggingface_hub
- pydicom
- SimpleITK
- NumPy
- Pillow
- safetensors
CUDA verification succeeded and PyTorch detected the RTX 3060 with 11.60 GiB usable VRAM.
MedGemma model
Model:
google/medgemma-4b-it
Local path:
/home/naeel/MED_DATA/models/medgemma-4b-it
Model download verification:
- 15 of 15 files downloaded
- approximately 8.64 GB
AutoProcessorloaded successfullyAutoModelForImageTextToTextloaded successfully with BF16 anddevice_map="auto"- model weights loaded on the RTX 3060
Hugging Face access is gated. The token is stored in the user's Hugging Face cache on the server and is not recorded here. To authenticate a new session, use:
/home/naeel/MED_DATA/medgemma-venv/bin/hf auth login
Do not put the token in this repository, shell history, or chat messages.
Smoke test
A real read-only smoke test was run against one readable DICOM slice from CY_CT.
The test performed the following steps:
- Read one DICOM image with
pydicom. - Applied
RescaleSlopeandRescaleInterceptwhen present. - Applied a soft-tissue CT window: center 40, width 400.
- Converted the slice to an 8-bit PIL image.
- Sent one image and a short prompt to MedGemma.
Result:
- DICOM found: yes
- CUDA inference: successful
- elapsed time: approximately 3.5 seconds
- response: a generic description of bones, soft tissue, and air; no diagnosis was generated
This was only a technical inference test. It was not a full-series CT analysis.
Correct CT processing pipeline
MedGemma 4B is an image-text model. It is not a ready-made 3D CT analysis system. The model card describes evaluation primarily on single-image tasks and does not establish reliable multi-image or full-volume CT interpretation.
A proper pipeline should be:
DICOM series
-> group by SeriesInstanceUID
-> sort by ImagePositionPatient
-> convert pixels to HU
-> resample the 3D volume
-> apply appropriate CT windows
-> run a task-specific 3D CT model
-> send selected images and structured results to MedGemma
-> save structured output and provenance
Useful ready-made components:
- 3D Slicer for DICOM viewing and volume preparation
- TotalSegmentator for anatomical CT segmentation
- MONAI Label for interactive model-based segmentation
- nnU-Net for a specific segmentation task with a compatible model
- OHIF Viewer for browser-based DICOM viewing
Running all 1,669 files independently through MedGemma would produce disconnected slice descriptions. At the measured rate it would take roughly 1 hour 40 minutes of inference, plus DICOM and output overhead. That is not equivalent to a 3D CT analysis.
Current state
Completed:
- local SSH access to server 3060 verified
MED_DATA/CY_CTcopied to the server- isolated GPU Python environment installed
- MedGemma 4B downloaded and loaded successfully
- one-slice DICOM inference verified
Not yet implemented:
- DICOM series grouping and validation
- 3D volume assembly and resampling
- task-specific CT segmentation or detection model
- persistent API or web service
- full-series processing and result aggregation
Safety and data handling
The model output is preliminary and may be incorrect. The MedGemma model card requires downstream validation and meaningful adaptation for a specific use case. This repository records installation and engineering checks only; it does not contain a clinical conclusion or patient data.