dicube.dicom.dicom_builder
dicom.dicom_builder
Unified DICOM Dataset Builder
Provides a simple, efficient interface for creating DICOM datasets from various sources. Uses pydicom’s built-in JSON conversion for maximum simplicity and reliability.
Classes
| Name | Description |
|---|---|
| DicomBuilder | Unified DICOM dataset builder for all scenarios. |
DicomBuilder
dicom.dicom_builder.DicomBuilder()Unified DICOM dataset builder for all scenarios.
This class provides a simple interface for creating DICOM datasets from: - Raw pixel arrays (uncompressed) - Compressed pixel data (JPEG2000, HTJ2K, etc.) - With or without decompression
Uses pydicom’s built-in Dataset.from_json() for reliable metadata handling.
Methods
| Name | Description |
|---|---|
| build | Build a DICOM dataset from various input types. |
| to_bytes | Serialize DICOM dataset to bytes. |
build
dicom.dicom_builder.DicomBuilder.build(
meta_dict,
pixel_header,
pixel_data=None,
transfer_syntax_uid=None,
force_uncompressed=False,
is_compressed_data=False,
)Build a DICOM dataset from various input types.
Args: meta_dict: DICOM metadata dictionary (JSON format or dict) pixel_header: Pixel header with data type information pixel_data: Either raw numpy array or compressed bytes transfer_syntax_uid: Transfer syntax UID (defaults to ExplicitVRLittleEndian) force_uncompressed: If True and data is compressed, decompress it is_compressed_data: If True, pixel_data is compressed bytes
Returns: Complete DICOM dataset ready for saving
Examples: # From raw pixel array ds = DicomBuilder.build(meta, header, pixel_array)
# From compressed data, keep compressed
ds = DicomBuilder.build(meta, header, compressed_bytes,
transfer_syntax_uid=htj2k_uid,
is_compressed_data=True)
# From compressed data, force decompression
ds = DicomBuilder.build(meta, header, compressed_bytes,
transfer_syntax_uid=htj2k_uid,
is_compressed_data=True,
force_uncompressed=True)
to_bytes
dicom.dicom_builder.DicomBuilder.to_bytes(ds)Serialize DICOM dataset to bytes.
Args: ds: DICOM dataset to serialize
Returns: DICOM file as bytes
Functions
| Name | Description |
|---|---|
| create_file_meta | Create file meta information |
| ensure_required_tags | Ensure required DICOM tags exist |
| save_dicom | Save DICOM file. |
| set_pixel_data_attributes | Set pixel data attributes based on pixel header information. |
create_file_meta
dicom.dicom_builder.create_file_meta(ds)Create file meta information
save_dicom
dicom.dicom_builder.save_dicom(ds, output_path)Save DICOM file.
Args: ds: DICOM dataset output_path: Output file path
set_pixel_data_attributes
dicom.dicom_builder.set_pixel_data_attributes(ds, pixel_header)Set pixel data attributes based on pixel header information.
Args: ds (Dataset): DICOM dataset to update pixel_header: Pixel header containing data type information