{"id":49642806,"url":"https://github.com/ant1-dev/medical-image-viewer","last_synced_at":"2026-05-05T20:04:43.706Z","repository":{"id":313569389,"uuid":"1051874044","full_name":"Ant1-dev/Medical-Image-Viewer","owner":"Ant1-dev","description":"Desktop application that can view and annotate images, with .dicom/.dcm compatitbilty.","archived":false,"fork":false,"pushed_at":"2025-09-06T23:05:20.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-07T01:08:30.918Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ant1-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-06T22:44:47.000Z","updated_at":"2025-09-06T23:05:23.000Z","dependencies_parsed_at":"2025-09-07T01:08:35.187Z","dependency_job_id":null,"html_url":"https://github.com/Ant1-dev/Medical-Image-Viewer","commit_stats":null,"previous_names":["ant1-dev/medical-image-viewer"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Ant1-dev/Medical-Image-Viewer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ant1-dev%2FMedical-Image-Viewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ant1-dev%2FMedical-Image-Viewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ant1-dev%2FMedical-Image-Viewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ant1-dev%2FMedical-Image-Viewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ant1-dev","download_url":"https://codeload.github.com/Ant1-dev/Medical-Image-Viewer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ant1-dev%2FMedical-Image-Viewer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32665684,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-05T20:04:40.661Z","updated_at":"2026-05-05T20:04:43.684Z","avatar_url":"https://github.com/Ant1-dev.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Medical Image Annotation Tool\n**DICOM Medical Image Viewer and Annotation System using C++, Qt, and GDCM**\n\n---\n\n## Table of Contents\n1. [Project Overview](#project-overview)\n2. [Features](#features)\n3. [Technologies \u0026 Skills Used](#technologies--skills-used)\n4. [Installation \u0026 Setup](#installation--setup)\n5. [Usage](#usage)\n6. [DICOM Support](#dicom-support)\n7. [Annotation System](#annotation-system)\n8. [Next Steps](#next-steps)\n9. [Project Structure](#project-structure)\n\n---\n\n## Project Overview\nMedical Image Annotation Tool is a professional desktop application built using C++ and Qt framework for orthopedic physicians to load, view, and annotate DICOM medical images. The application enables precise line drawing for measurement and analysis of anatomical structures on X-rays, MRIs, CT scans, and standard medical imaging formats.\n\n![image](medDemo.gif)\n\n---\n\n## Features\n* Load and display DICOM medical images (.dcm, .dicom files) with metadata extraction.\n* Support for 8-bit, 12-bit, and 16-bit medical image formats.\n* Professional split screen interface with image viewer and metadata panel.\n* Dual-mode operation: View Mode (pan/zoom) and Draw Mode (annotation).\n* Precision line drawing with click and drag interaction.\n* Line selection, deletion, and management system.\n* Real time visual feedback during annotation creation.\n* DICOM metadata display (patient info, study details, technical specifications).\n\n---\n\n## Technologies \u0026 Skills Used\n* **Programming**: C++17, Object Oriented Programming (OOP), modular architecture design.\n* **GUI**: Qt 6 Framework, Qt Widgets (`QMainWindow`, `QGraphicsView`, `QSplitter`, `QGroupBox`).\n* **Medical Imaging**: GDCM (Grassroots DICOM) library integration, DICOM format processing.\n* **Graphics**: Qt Graphics Framework (`QGraphicsScene`, `QGraphicsLineItem`, custom mouse event handling).\n* **Build System**: CMake with automatic MOC processing and external library linking.\n* **Development Tools**: Qt Creator, cross platform development.\n\n---\n\n## Installation \u0026 Setup\n1. Install dependencies:\n   ```bash\n   # macOS\n   brew install qt6 gdcm cmake\n   ```\n2. Clone the repository:\n   ```bash\n   git clone [repository-url]\n   cd medical-image-annotation-tool\n   ```\n3. Build with CMake:\n   ```bash\n   mkdir build \u0026\u0026 cd build\n   cmake ..\n   make\n   ```\n4. Run the application:\n   ```bash\n   ./MedicalImageViewer\n   ```\n\n---\n\n## Usage\n1. **Load Images**: File → Open Image to select DICOM (.dcm) or standard image files.\n2. **View Metadata**: Patient information and technical details display automatically in right panel.\n3. **Navigate Images**: Use View Mode for pan (click drag) and zoom (mouse wheel) operations.\n4. **Create Annotations**: Switch to Draw Mode and click drag to create measurement lines.\n5. **Manage Lines**: Click lines in View Mode to select (yellow highlight), use Delete key or button to remove.\n6. **Clear Annotations**: Use \"Clear All Lines\" to remove all annotations from current image.\n\n---\n\n## DICOM Support\n* **File Formats**: .dcm, .dicom medical imaging files plus PNG, JPEG, BMP standards.\n* **Bit Depths**: 8-bit (standard), 12-bit (X-ray), 16-bit (CT/MRI) with automatic scaling.\n* **Metadata Extraction**: Patient Name/ID, Study Date, Modality, Institution, Image Properties.\n* **Multi-frame Handling**: Displays first frame of multi-slice/3D DICOM files.\n\n| DICOM Tag | Description | Example |\n|-----------|-------------|---------|\n| (0010,0010) | Patient Name | Smith^John^^^ |\n| (0008,0060) | Modality | CR, CT, MR, XA |\n| (0008,0020) | Study Date | 20240327 |\n| (0028,0010) | Image Width | 2048 |\n\n---\n\n## Annotation System\n* **Drawing Tools**: Precision straight-line annotations for medical measurements.\n* **Visual Feedback**: Blue dashed preview during drawing, red permanent lines.\n* **Selection System**: Yellow highlight for selected lines, click-to-select interface.\n* **Management**: Individual line deletion, clear all functionality, line count tracking.\n* **Medical Applications**: Joint angle measurement, bone alignment analysis, fracture assessment.\n\n---\n\n## Next Steps\n* Currently measurements and angles creation.\n* Support for 3D image viewing.\n* Measurement for those 3D images.\n\n## Project Structure\n```\nMedicalImageViewer/\n├── main.cpp                     # Application entry point\n├── mainwindow.h/cpp             # Main UI coordination and file management\n├── imageviewer.h/cpp            # Custom graphics view with pan/zoom/drawing\n├── dicomloader.h/cpp            # DICOM file processing and metadata extraction\n├── annotationmanager.h/cpp      # Line drawing and annotation management\n├── CMakeLists.txt               # CMake build configuration with GDCM integration\n└── README.md\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fant1-dev%2Fmedical-image-viewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fant1-dev%2Fmedical-image-viewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fant1-dev%2Fmedical-image-viewer/lists"}