Abstracted from a Project Report at ISR, IST - Universidade de Lisboa.
Contact Info: [email protected]
๐จ This repository hosts a comprehensive suite of tools designed to streamline the processing and manipulation of medical imaging data.
Home Page: https://mimbcd-ui.github.io/data-pipeline/
License: MIT License
Abstracted from a Project Report at ISR, IST - Universidade de Lisboa.
Contact Info: [email protected]
Update the documentation for the data pipeline to include detailed instructions on setting up, configuring, and running the DICOM file comparison script. This documentation update will provide clarity and guidance for users, facilitating easier adoption and usage of the pipeline.
Implement a mechanism to rename DICOM files following the proposed structure after the anonymization process. This mechanism should parse necessary information either from the original filename or DICOM metadata.
The proposed structure is the following:
AnonimizedPatientID_YYYYMMDD_MODALITY_SEQUENCE_INSTANCE.dcm
Acceptance Criteria:
I encountered an issue while running the anonymization process for DICOM files. The process failed for some files due to missing attributes in the DICOM dataset. Specifically, the attribute PatientAge
was not found in one of the DICOM files, leading to an error during anonymization.
Run the anonymization process for a set of DICOM files.
Encounter an error similar to the following:
Anonymization failed for /path/to/dicom/file: 'FileDataset' object has no attribute 'PatientAge'
The anonymization process should handle cases where certain attributes are missing from the DICOM dataset gracefully, without causing errors. This should be done to all DICOM tags.
Update the anonymization logic to check whether the required attributes exist before attempting to anonymize them. Specifically, change the order of operations to first check if the attribute exists before attempting to access it in all DICOM tags.
For instance, from:
# Anonymize Patient's Age
logging.info(f"Anonymizing Patient's Age: {getattr(ds, 'PatientAge', 'N/A')}")
if hasattr(ds, 'PatientAge'):
ds.PatientAge = ""
logging.info(f"PatientAge: {ds.PatientAge}")
else:
logging.info("Attribute 'PatientAge' not found in DICOM file.")
To:
# Anonymize Patient's Age
if hasattr(ds, 'PatientAge'):
logging.info(f"Anonymizing Patient's Age: {getattr(ds, 'PatientAge', 'N/A')}")
ds.PatientAge = ""
logging.info(f"PatientAge: {ds.PatientAge}")
else:
logging.info("Attribute 'PatientAge' not found in DICOM file.")
Enhance the DICOM file comparison script by improving the handling of DICOM files. This includes implementing error handling mechanisms, validation checks, and robust file parsing to ensure reliable processing.
Streamline the deployment process of the data pipeline by incorporating best practices and automation techniques. This optimization effort will simplify setup procedures, automate deployment tasks, and ensure compatibility with various environments.
Create a script to transfer the anonymized and renamed DICOM files to the dataset-multimodal-breast
repository. This script should ensure that the data is organized correctly in the target repository.
Acceptance Criteria:
We need to develop a script that anonymizes DICOM images by removing or obfuscating Personal Identifiable Information (PII) contained within the DICOM file headers. The anonymization process should comply with HIPAA guidelines and other relevant standards for data privacy.
Acceptance Criteria:
Extend the DICOM file comparison script to include comparison of instance numbers in addition to file equality. This feature enhancement will enhance the accuracy of matching criteria and improve the effectiveness of the script.
Provide comprehensive documentation for the anonymization and transfer process, including setup, execution instructions, and troubleshooting tips. This documentation will be essential for other researchers and contributors to understand and use the data-pipeline
effectively.
Acceptance Criteria:
Address warnings generated during script execution, such as compatibility warnings for dependencies, by implementing proper warning suppression mechanisms. This bug fix will ensure smooth execution of the script without unnecessary warnings.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.