From 8758079aa453662051194593edb43f31f39fffbf Mon Sep 17 00:00:00 2001 From: Rachel Hagerman <110480692+rlhagerm@users.noreply.github.com> Date: Fri, 31 Oct 2025 11:02:58 -0500 Subject: [PATCH 1/2] Revert "[Java,C++,Python,JavaScript]: Updating example codes in HealthImaging Service (#7598)" This reverts commit be8209cdd4ce5c606c67ef04cf6f05b6866fe387. --- .../start_dicom_import_job.cpp | 18 +---- .../actions/start-dicom-import-job.js | 13 ---- .../medicalimaging/StartDicomImportJob.java | 67 ++++++------------- .../medical-imaging/medical_imaging_basics.py | 19 ++---- 4 files changed, 27 insertions(+), 90 deletions(-) diff --git a/cpp/example_code/medical-imaging/start_dicom_import_job.cpp b/cpp/example_code/medical-imaging/start_dicom_import_job.cpp index f22b485f60a..72b893789cd 100644 --- a/cpp/example_code/medical-imaging/start_dicom_import_job.cpp +++ b/cpp/example_code/medical-imaging/start_dicom_import_job.cpp @@ -29,7 +29,6 @@ \param outputBucketName: The name of the S3 bucket for the output. \param outputDirectory: The directory in the S3 bucket to store the output. \param roleArn: The ARN of the IAM role with permissions for the import. - \param importConfigJson: The import configuration JSON string (optional). \param importJobId: A string to receive the import job ID. \param clientConfig: Aws client configuration. \return bool: Function succeeded. @@ -38,7 +37,6 @@ bool AwsDoc::Medical_Imaging::startDICOMImportJob( const Aws::String &dataStoreID, const Aws::String &inputBucketName, const Aws::String &inputDirectory, const Aws::String &outputBucketName, const Aws::String &outputDirectory, const Aws::String &roleArn, - const Aws::String &importConfigJson, Aws::String &importJobId, const Aws::Client::ClientConfiguration &clientConfig) { Aws::MedicalImaging::MedicalImagingClient medicalImagingClient(clientConfig); @@ -50,20 +48,8 @@ bool AwsDoc::Medical_Imaging::startDICOMImportJob( startDICOMImportJobRequest.SetInputS3Uri(inputURI); startDICOMImportJobRequest.SetOutputS3Uri(outputURI); - if (!importConfigJson.empty()) { - Aws::Utils::Json::JsonValue jsonValue(importConfigJson); - if (jsonValue.WasParseSuccessful()) { - startDICOMImportJobRequest.SetImportConfiguration( - Aws::MedicalImaging::Model::ImportConfiguration(jsonValue)); - } - else { - std::cerr << "Failed to parse import configuration JSON" << std::endl; - return false; - } - } - - Aws::MedicalImaging::Model::StartDICOMImportJobOutcome startDICOMImportJobOutcome = - medicalImagingClient.StartDICOMImportJob(startDICOMImportJobRequest); + Aws::MedicalImaging::Model::StartDICOMImportJobOutcome startDICOMImportJobOutcome = medicalImagingClient.StartDICOMImportJob( + startDICOMImportJobRequest); if (startDICOMImportJobOutcome.IsSuccess()) { importJobId = startDICOMImportJobOutcome.GetResult().GetJobId(); diff --git a/javascriptv3/example_code/medical-imaging/actions/start-dicom-import-job.js b/javascriptv3/example_code/medical-imaging/actions/start-dicom-import-job.js index beba224233d..692ed3cb11e 100644 --- a/javascriptv3/example_code/medical-imaging/actions/start-dicom-import-job.js +++ b/javascriptv3/example_code/medical-imaging/actions/start-dicom-import-job.js @@ -13,7 +13,6 @@ import { medicalImagingClient } from "../libs/medicalImagingClient.js"; * @param {string} dataAccessRoleArn - The Amazon Resource Name (ARN) of the role that grants permission. * @param {string} inputS3Uri - The URI of the S3 bucket containing the input files. * @param {string} outputS3Uri - The URI of the S3 bucket where the output files are stored. - * @param {Object} importConfiguration - The configuration for digital pathology import. */ export const startDicomImportJob = async ( jobName = "test-1", @@ -21,17 +20,6 @@ export const startDicomImportJob = async ( dataAccessRoleArn = "arn:aws:iam::xxxxxxxxxxxx:role/ImportJobDataAccessRole", inputS3Uri = "s3://medical-imaging-dicom-input/dicom_input/", outputS3Uri = "s3://medical-imaging-output/job_output/", - importConfiguration = { - digitalPathologyImportConfiguration: { - qualityFactor: 85, - fileMetadataMappings: [ - { - imageFilePath: "image.svs", - metadataFilePath: "metadata.json", - }, - ], - }, - }, ) => { const response = await medicalImagingClient.send( new StartDICOMImportJobCommand({ @@ -40,7 +28,6 @@ export const startDicomImportJob = async ( dataAccessRoleArn: dataAccessRoleArn, inputS3Uri: inputS3Uri, outputS3Uri: outputS3Uri, - importConfiguration: importConfiguration, }), ); console.log(response); diff --git a/javav2/example_code/medicalimaging/src/main/java/com/example/medicalimaging/StartDicomImportJob.java b/javav2/example_code/medicalimaging/src/main/java/com/example/medicalimaging/StartDicomImportJob.java index 1fedda819a8..a87b4c8340f 100644 --- a/javav2/example_code/medicalimaging/src/main/java/com/example/medicalimaging/StartDicomImportJob.java +++ b/javav2/example_code/medicalimaging/src/main/java/com/example/medicalimaging/StartDicomImportJob.java @@ -64,53 +64,28 @@ public static void main(String[] args) { // snippet-start:[medicalimaging.java2.start_dicom_import_job.main] public static String startDicomImportJob(MedicalImagingClient medicalImagingClient, - String jobName, - String datastoreId, - String dataAccessRoleArn, - String inputS3Uri, - String outputS3Uri, - String importConfigJson) { - - try { - software.amazon.awssdk.utils.json.JsonNode jsonNode = - software.amazon.awssdk.utils.json.JsonFactory.jsonParser().parse(importConfigJson); - - ImportConfiguration importConfiguration = ImportConfiguration.builder() - .digitalPathologyImportConfiguration( - DigitalPathologyImportConfiguration.builder() - .qualityFactor(jsonNode.get("digitalPathologyImportConfiguration") - .get("qualityFactor").asInt()) - .fileMetadataMappings( - jsonNode.get("digitalPathologyImportConfiguration") - .get("fileMetadataMappings") - .elements() - .map(mapping -> FileMetadataMapping.builder() - .imageFilePath(mapping.get("imageFilePath").asString()) - .metadataFilePath(mapping.get("metadataFilePath").asString()) - .build()) - .collect(java.util.stream.Collectors.toList()) - ) - .build() - ) + String jobName, + String datastoreId, + String dataAccessRoleArn, + String inputS3Uri, + String outputS3Uri) { + + try { + StartDicomImportJobRequest startDicomImportJobRequest = StartDicomImportJobRequest.builder() + .jobName(jobName) + .datastoreId(datastoreId) + .dataAccessRoleArn(dataAccessRoleArn) + .inputS3Uri(inputS3Uri) + .outputS3Uri(outputS3Uri) .build(); - - StartDicomImportJobRequest startDicomImportJobRequest = StartDicomImportJobRequest.builder() - .jobName(jobName) - .datastoreId(datastoreId) - .dataAccessRoleArn(dataAccessRoleArn) - .inputS3Uri(inputS3Uri) - .outputS3Uri(outputS3Uri) - .importConfiguration(importConfiguration) - .build(); - - StartDicomImportJobResponse response = medicalImagingClient.startDICOMImportJob(startDicomImportJobRequest); - return response.jobId(); - } catch (MedicalImagingException e) { - System.err.println(e.awsErrorDetails().errorMessage()); - System.exit(1); - } - - return ""; + StartDicomImportJobResponse response = medicalImagingClient.startDICOMImportJob(startDicomImportJobRequest); + return response.jobId(); + } catch (MedicalImagingException e) { + System.err.println(e.awsErrorDetails().errorMessage()); + System.exit(1); } + + return ""; + } // snippet-end:[medicalimaging.java2.start_dicom_import_job.main] } diff --git a/python/example_code/medical-imaging/medical_imaging_basics.py b/python/example_code/medical-imaging/medical_imaging_basics.py index fa9ac5da6a4..b2f8721509a 100644 --- a/python/example_code/medical-imaging/medical_imaging_basics.py +++ b/python/example_code/medical-imaging/medical_imaging_basics.py @@ -123,8 +123,8 @@ def delete_datastore(self, datastore_id): # snippet-start:[python.example_code.medical-imaging.StartDICOMImportJob] def start_dicom_import_job( - self, job_name, datastore_id, role_arn, input_s3_uri, output_s3_uri, import_configuration - ): + self, job_name, datastore_id, role_arn, input_s3_uri, output_s3_uri + ): """ Start a DICOM import job. @@ -143,7 +143,6 @@ def start_dicom_import_job( dataAccessRoleArn=role_arn, inputS3Uri=input_s3_uri, outputS3Uri=output_s3_uri, - importConfiguration=import_configuration ) except ClientError as err: logger.error( @@ -154,6 +153,7 @@ def start_dicom_import_job( raise else: return job["jobId"] + # snippet-end:[python.example_code.medical-imaging.StartDICOMImportJob] # snippet-start:[python.example_code.medical-imaging.GetDICOMImportJob] @@ -710,19 +710,8 @@ def usage_demo(self, source_s3_uri, dest_s3_uri, data_access_role_arn): print(f"datastores : {datastores}") job_name = "python_usage_demo_job" - import_configuration = { - "digitalPathologyImportConfiguration": { - "qualityFactor": 85, - "fileMetadataMappings": [ - { - "imageFilePath": "image.svs", - "metadataFilePath": "metadata.json" - } - ] - } - } job_id = self.start_dicom_import_job( - job_name, data_store_id, data_access_role_arn, source_s3_uri, dest_s3_uri, import_configuration + job_name, data_store_id, data_access_role_arn, source_s3_uri, dest_s3_uri ) print(f"Started import job with id: {job_id}") From 7c7ffb090cea6f89790874b178195b7d7f9b36f6 Mon Sep 17 00:00:00 2001 From: Rachel Hagerman <110480692+rlhagerm@users.noreply.github.com> Date: Fri, 31 Oct 2025 11:03:25 -0500 Subject: [PATCH 2/2] Revert "[Python] HealthImage: Adding Param comment for import_config (#7602)" This reverts commit 32d0a183cecaf73d1d27c0b07496e79199cb810c. --- python/example_code/medical-imaging/README.md | 26 +++++++++---------- .../medical-imaging/medical_imaging_basics.py | 1 - 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/python/example_code/medical-imaging/README.md b/python/example_code/medical-imaging/README.md index 6b236e3017f..5a12f561cfd 100644 --- a/python/example_code/medical-imaging/README.md +++ b/python/example_code/medical-imaging/README.md @@ -43,24 +43,24 @@ python -m pip install -r requirements.txt Code excerpts that show you how to call individual service functions. -- [CopyImageSet](medical_imaging_basics.py#L418) +- [CopyImageSet](medical_imaging_basics.py#L417) - [CreateDatastore](medical_imaging_basics.py#L31) - [DeleteDatastore](medical_imaging_basics.py#L104) -- [DeleteImageSet](medical_imaging_basics.py#L490) -- [GetDICOMImportJob](medical_imaging_basics.py#L159) +- [DeleteImageSet](medical_imaging_basics.py#L489) +- [GetDICOMImportJob](medical_imaging_basics.py#L158) - [GetDatastore](medical_imaging_basics.py#L54) -- [GetImageFrame](medical_imaging_basics.py#L319) -- [GetImageSet](medical_imaging_basics.py#L242) -- [GetImageSetMetadata](medical_imaging_basics.py#L275) -- [ListDICOMImportJobs](medical_imaging_basics.py#L184) +- [GetImageFrame](medical_imaging_basics.py#L318) +- [GetImageSet](medical_imaging_basics.py#L241) +- [GetImageSetMetadata](medical_imaging_basics.py#L274) +- [ListDICOMImportJobs](medical_imaging_basics.py#L183) - [ListDatastores](medical_imaging_basics.py#L79) -- [ListImageSetVersions](medical_imaging_basics.py#L351) -- [ListTagsForResource](medical_imaging_basics.py#L557) -- [SearchImageSets](medical_imaging_basics.py#L212) +- [ListImageSetVersions](medical_imaging_basics.py#L350) +- [ListTagsForResource](medical_imaging_basics.py#L556) +- [SearchImageSets](medical_imaging_basics.py#L211) - [StartDICOMImportJob](medical_imaging_basics.py#L124) -- [TagResource](medical_imaging_basics.py#L515) -- [UntagResource](medical_imaging_basics.py#L535) -- [UpdateImageSetMetadata](medical_imaging_basics.py#L382) +- [TagResource](medical_imaging_basics.py#L514) +- [UntagResource](medical_imaging_basics.py#L534) +- [UpdateImageSetMetadata](medical_imaging_basics.py#L381) ### Scenarios diff --git a/python/example_code/medical-imaging/medical_imaging_basics.py b/python/example_code/medical-imaging/medical_imaging_basics.py index b2f8721509a..2773041e1ba 100644 --- a/python/example_code/medical-imaging/medical_imaging_basics.py +++ b/python/example_code/medical-imaging/medical_imaging_basics.py @@ -133,7 +133,6 @@ def start_dicom_import_job( :param role_arn: The Amazon Resource Name (ARN) of the role to use for the job. :param input_s3_uri: The S3 bucket input prefix path containing the DICOM files. :param output_s3_uri: The S3 bucket output prefix path for the result. - :param importConfiguration: The configuration for digital pathology import. :return: The job ID. """ try: