{"_id":"591b319c2dba9823008f9338","__v":0,"category":{"_id":"573b4f62ef164e2900a2b881","__v":0,"project":"55faeacad0e22017005b8265","version":"55faeacad0e22017005b8268","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-05-17T17:05:38.443Z","from_sync":false,"order":6,"slug":"algorithm-guide","title":"Certified Algorithms"},"parentDoc":null,"user":"55fae9d4825d5f19001fa379","project":"55faeacad0e22017005b8265","version":{"_id":"55faeacad0e22017005b8268","project":"55faeacad0e22017005b8265","__v":33,"createdAt":"2015-09-17T16:31:06.800Z","releaseDate":"2015-09-17T16:31:06.800Z","categories":["55faeacbd0e22017005b8269","55faf550764f50210095078e","55faf5b5626c341700fd9e96","55faf8a7825d5f19001fa386","560052f91503430d007cc88f","560054f73aa0520d00da0b1a","56005aaf6932a00d00ba7c62","56005c273aa0520d00da0b3f","5601ae7681a9670d006d164d","5601ae926811d00d00ceb487","5601aeb064866b1900f4768d","5601aee850ee460d0002224c","5601afa02499c119000faf19","5601afd381a9670d006d1652","561d4c78281aec0d00eb27b6","561d588d8ca8b90d00210219","563a5f934cc3621900ac278c","5665c5763889610d0008a29e","566710a36819320d000c2e93","56ddf6df8a5ae10e008e3926","56e1c96b2506700e00de6e83","56e1ccc4e416450e00b9e48c","56e1ccdfe63f910e00e59870","56e1cd10bc46be0e002af26a","56e1cd21e416450e00b9e48e","56e3139a51857d0e008e77be","573b4f62ef164e2900a2b881","57c9d1335fd8ca0e006308ed","57e2bd9d1e7b7220000d7fa5","57f2b992ac30911900c7c2b6","58adb5c275df0f1b001ed59b","58c81b5c6dc7140f003c3c46","595412446ed4d9001b3e7b37"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"v1","version_clean":"1.0.0","version":"1"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2017-05-16T17:06:36.693Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":21,"body":"NNDiffuse Pansharpening works best when the spectral response function of each multispectral band has minimal overlap with one another, and the combination of all multispectral bands covers the spectral range of the panchromatic raster.\nThe following are input raster requirements for running the NND Pansharpening algorithm:\n\n* The pixel size of the low-resolution raster must be an integral multiple of the pixel size of the high-resolution raster. If it is not, then pre-process (resample) the rasters.\n* When the rasters have projection information, it must be in the same\n   projection. If it is not the same, then reproject the rasters.\n* The rasters must be aligned. If the rasters have misalignment, then\n   register the rasters.\n* Ensure that the rasters line up, particularly in the upper-left\n   corner (see the following diagram). When alignment is as little as\n   1/2 pixel off between the two, pan sharpening accuracy will be\n   affected. If both input rasters have map information, they will be\n   automatically subsetted so that they line up. If the rasters do not\n   line up and do not have map information, then use spatial subsetting.\n\n\n\n## Table of Contents\n\nSection | Description\n--- | ---\n[Imagery Examples](#Imagery Examples) | Before and after examples\n[Quickstart](#Quickstart) | Get started with a Python-based quickstart tutorial\n[Task Runtime](#Task Runtime) | Benchmark runtimes for the algorithm\n[Input Options](#Input Options) | Required and optional task inputs\n[Outputs](#Outputs) | Task outputs and example contents\n[Advanced Options](#Advanced Options) | Additional information for advanced users\n[Known Issues](#Known Issues) | Issues users should be aware of\n\n\n## <a name=\"Imagery Examples\"></a>Imagery Examples\n\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/ce5f190-IKONOS_Not_Pansharp.JPG\",\n        \"IKONOS_Not_Pansharp.JPG\",\n        971,\n        437,\n        \"#d19c72\"\n      ],\n      \"caption\": \"Before: This is an example of an IKONOS image that has not been pan-sharpened\"\n    }\n  ]\n}\n[/block]\n\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/df09814-IKONOS_Pansharp.JPG\",\n        \"IKONOS_Pansharp.JPG\",\n        984,\n        455,\n        \"#b7906c\"\n      ],\n      \"caption\": \"After:  This is the same IKONOS image after running ENVI NNDiffuse PanSharpening\"\n    }\n  ]\n}\n[/block]\n## <a name=\"Quickstart\"></a>Quickstart Tutorial\n\nExample Script: Run in a python environment (i.e. - IPython) using the gbdxtools interface.\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"from gbdxtools import Interface\\ngbdx = Interface()\\n\\n# Edit the following path to reflect a specific path to an image\\ndata_low_res = 's3://gbd-customer-data/CustomerAccount#/PathToImage/'\\ndata_high_res = 's3://gbd-customer-data/CustomerAccount#/PathToImage/'\\n\\nenvi = gbdx.Task(\\\"ENVI_NNDiffusePanSharpening\\\")\\nenvi.inputs.input_low_resolution_raster = data_low_res\\nenvi.inputs.input_high_resolution_raster = data_high_res\\n\\nworkflow = gbdx.Workflow([ envi ])\\n\\nworkflow.savedata(\\n    envi.outputs.output_raster_uri,\\n    location='NNDPanSharp/output_raster_uri'\\n)\\n\\nprint workflow.execute()\\nprint workflow.status\\n# Repeat workflow.status as needed to monitor progress.\",\n      \"language\": \"python\"\n    }\n  ]\n}\n[/block]\n## <a name=\"Task Runtime\"></a>Task Runtime\nThese are the average runtimes for this algorithm. All benchmark tests were run using a standard set of images, based on our most common customer scenarios. Runtime benchmarks apply to the specific algorithm, and don’t represent the runtime of a complete workflow.\n\n| Sensor Name | Total Pixels | Total Area (k2) | Time(secs) | Time/Area k2 |\n| ----------- | :----------: | --------------- | ---------- | ------------ |\n| QB          |  41,551,668  | 312.07          | 1242.554   | 3.98         |\n| WV02        |  35,872,942  | 329.87          | 4555.128   | 13.81        |\n| WV03        |  35,371,971  | 196.27          | 6741.883   | 34.35        |\n| GE01        |  57,498,000  | 332.97          | 2286.475   | 6.87         |\n| IKONOS      |  29,976,302  | 273.34          | 367.958    | 1.35         |\n\n\n\n## <a name=\"Input Options\"></a>Input Options\nThe following table lists all inputs for this task. For details regarding the use of all ENVI input types refer to the [ENVI Task Runner Inputs]([See ENVIRASTER input type](https://github.com/TDG-Platform/docs/blob/master/ENVI_Task_Runner_Inputs.md)) documentation.\n\n| Name                                     | Required |                 Default                  |               Valid Values               | Description                              |\n| ---------------------------------------- | :------: | :--------------------------------------: | :--------------------------------------: | ---------------------------------------- |\n| file_types                               |  False   |                   None                   |                  string                  | GBDX Option. Comma separated list of permitted file type extensions. Use this to filter input files -- Value Type: STRING |\n| input_low_resolution_raster              |   True   |                   N/A                    |  A valid S3 URL containing image files.  | Specify a low-resolution raster.         |\n| input_low_resolution_raster_format       |  False   |                   None                   | [See ENVIRASTER input type](https://github.com/TDG-Platform/docs/blob/master/ENVI_Task_Runner_Inputs.md) | Provide the format of the image, for example: landsat-8. -- Value Type: STRING |\n| input_low_resolution_raster_band_grouping |  False   |                   None                   | [See ENVIRASTER input type](https://github.com/TDG-Platform/docs/blob/master/ENVI_Task_Runner_Inputs.md) | Provide the name of the band grouping to be used in the task, ie - panchromatic. -- Value Type: STRING |\n| input_low_resolution_raster_filename     |  False   |                   None                   | [See ENVIRASTER input type](https://github.com/TDG-Platform/docs/blob/master/ENVI_Task_Runner_Inputs.md) | Provide the explicit relative raster filename that ENVI will open. This overrides any file lookup in the task runner. -- Value Type: STRING |\n| input_high_resolution_raster             |   True   |                   N/A                    |  A valid S3 URL containing image files.  | Specify a high-resolution panchromatic raster. |\n| input_high_resolution_raster_format      |  False   |                   None                   | [See ENVIRASTER input type](https://github.com/TDG-Platform/docs/blob/master/ENVI_Task_Runner_Inputs.md) | Provide the format of the image, for example: landsat-8. -- Value Type: STRING |\n| input_high_resolution_raster_band_grouping |  False   |                   None                   | [See ENVIRASTER input type](https://github.com/TDG-Platform/docs/blob/master/ENVI_Task_Runner_Inputs.md) | Provide the name of the band grouping to be used in the task, ie - panchromatic. -- Value Type: STRING |\n| input_high_resolution_raster_filename    |  False   |                   None                   | [See ENVIRASTER input type](https://github.com/TDG-Platform/docs/blob/master/ENVI_Task_Runner_Inputs.md) | Provide the explicit relative raster filename that ENVI will open. This overrides any file lookup in the task runner. -- Value Type: STRING |\n| intensity_smoothness                     |  False   | value is set adaptively using local similarity |      string float (positive number)      | A positive number that defines the intensity smoothness factor (σ) of the NNDiffuse pan sharpening algorithm. A smaller intensity_smoothness value will restrict diffusion and produce sharper images, but will have more noise.  A larger value is also suggested for panchromatic scenes with high contrast (they require less diffusion sensitivity), and with complex scenes (to reduce the possibility of noise). If not specified, the value is set adaptively using local similarity. -- Value Type: FLOAT |\n| spatial_smoothness                       |  False   |         pixel_size_ratio x 0.62          |      string float (positive number)      | A positive number that defines the spatial smoothness factor (σs) of the NNDiffuse pan sharpening algorithm. spatial_smoothness should be set to a value that will resemble a bicubic interpolation kernel. -- Value Type: FLOAT |\n| pixel_size_ratio                         |  False   | resolution ratio of the sensor in meters (low-res/high-res) |                string int                | A scalar number that defines the pixel size ratio of the low-resolution raster and the high-resolution raster. The NNDiffuse pan-sharpening algorithm requires that the pixel size ratio be an integer. If this property is not set, the value is determined from the metadata of the input rasters. -- Value Type: UINT |\n| output_raster_uri_filename               |  False   |                   None                   |                  string                  | Specify a string with the fully-qualified path and filename for OUTPUT_RASTER. -- Value Type: STRING |\n\n\n\n## <a name=\"Outputs\"></a>Outputs\nThe following table lists all the outputs for this task.\n\n| Name              | Required | Description                              |\n| ----------------- | :------: | ---------------------------------------- |\n| output_raster_uri |   True   | Output for OUTPUT_RASTER.                |\n| task_meta_data    |  False   | GBDX Option. Output location for task meta data such as execution log and output JSON. |\n\n##### Output Structure\n\nThe output_raster image file will be written to the specified S3 Customer Account Location in GeoTiff (\\*.tif) format, with an ENVI header file (\\*.hdr).\n\n\n## <a name=\"Advanced Options\"></a>Advanced Options\n\nThis task requires that WorldView-2, Worldview-3, GeoEYE-1 and Quickbird imagery has been pre-processed using the [Advanced Image Preprocessor](#https://github.com/TDG-Platform/docs/blob/master/Advanced_Image_Preprocessor.md) for proper orthorectification of both the panchromatic and multispectral images. Use NNDiffuse Pansharpening on imagery from these sensors when you need full multipsectral band (4-band or 8-band) pansharpening.\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"from gbdxtools import Interface\\ngbdx = Interface()\\n\\n# Edit the following path to reflect a specific path to an image\\ndata = 's3://gbd-customer-data/CustomerAccount#/PathToImage/'\\n\\naop_low = gbdx.Task(\\\"AOP_Strip_Processor\\\") \\naop_low.inputs.data = data\\naop_low.inputs.enable_dra = False\\naop_low.inputs.bands = 'MS'\\n\\naop_high = gbdx.Task(\\\"AOP_Strip_Processor\\\") \\naop_high.inputs.data = data\\naop_high.inputs.enable_dra = False\\naop_high.inputs.bands = 'PAN'\\n\\nenvi = gbdx.Task(\\\"ENVI_NNDiffusePanSharpening\\\")\\nenvi.inputs.input_low_resolution_raster = aop_low.outputs.data.value\\nenvi.inputs.input_high_resolution_raster = aop_high.outputs.data.value\\n\\nworkflow = gbdx.Workflow([ envi ])\\n\\nworkflow.savedata(\\n    envi.outputs.output_raster_uri, \\n    location='NNDPanSharp/output_raster_uri' # edit location to suit account\\n)\\n\\nprint workflow.execute()\\nprint workflow.status\\n# Repeat workflow.status as needed to monitor progress.\",\n      \"language\": \"python\"\n    }\n  ]\n}\n[/block]\n##<a name=\"Known Issues\"></a>Known Issues\nNone.\n\n## Background\nFor additional background information on this task please refer to the <a href=\"http://www.harrisgeospatial.com/docs/home.html\">Harris Geospatial ENVI documentation.</a>​\n\n#### Contact Us   \nIf you have any questions or issues with this task, please contact [**gbdx-support:::at:::digitalglobe.com** ](mailto:gbdx-support@digitalglobe.com).","excerpt":"This task performs Nearest Neighbor Diffuse (NND) Pansharpening using a low-resolution raster and a high-resolution panchromatic raster.  \n\t\n**GBDX Registered Name**: ENVI NNDiffuse PanSharpening\n**Provider**: Harris Geospatial Solutions\nFor more information on how to execute this task please refer to the [ENVI® Task Runner Inputs](doc:envi-task-runner-inputs) .","slug":"envi-nndiffuse-pansharpening","type":"basic","title":"ENVI® NNDiffuse PanSharpening"}

ENVI® NNDiffuse PanSharpening

This task performs Nearest Neighbor Diffuse (NND) Pansharpening using a low-resolution raster and a high-resolution panchromatic raster. **GBDX Registered Name**: ENVI NNDiffuse PanSharpening **Provider**: Harris Geospatial Solutions For more information on how to execute this task please refer to the [ENVI® Task Runner Inputs](doc:envi-task-runner-inputs) .

NNDiffuse Pansharpening works best when the spectral response function of each multispectral band has minimal overlap with one another, and the combination of all multispectral bands covers the spectral range of the panchromatic raster. The following are input raster requirements for running the NND Pansharpening algorithm: * The pixel size of the low-resolution raster must be an integral multiple of the pixel size of the high-resolution raster. If it is not, then pre-process (resample) the rasters. * When the rasters have projection information, it must be in the same projection. If it is not the same, then reproject the rasters. * The rasters must be aligned. If the rasters have misalignment, then register the rasters. * Ensure that the rasters line up, particularly in the upper-left corner (see the following diagram). When alignment is as little as 1/2 pixel off between the two, pan sharpening accuracy will be affected. If both input rasters have map information, they will be automatically subsetted so that they line up. If the rasters do not line up and do not have map information, then use spatial subsetting. ## Table of Contents Section | Description --- | --- [Imagery Examples](#Imagery Examples) | Before and after examples [Quickstart](#Quickstart) | Get started with a Python-based quickstart tutorial [Task Runtime](#Task Runtime) | Benchmark runtimes for the algorithm [Input Options](#Input Options) | Required and optional task inputs [Outputs](#Outputs) | Task outputs and example contents [Advanced Options](#Advanced Options) | Additional information for advanced users [Known Issues](#Known Issues) | Issues users should be aware of ## <a name="Imagery Examples"></a>Imagery Examples [block:image] { "images": [ { "image": [ "https://files.readme.io/ce5f190-IKONOS_Not_Pansharp.JPG", "IKONOS_Not_Pansharp.JPG", 971, 437, "#d19c72" ], "caption": "Before: This is an example of an IKONOS image that has not been pan-sharpened" } ] } [/block] [block:image] { "images": [ { "image": [ "https://files.readme.io/df09814-IKONOS_Pansharp.JPG", "IKONOS_Pansharp.JPG", 984, 455, "#b7906c" ], "caption": "After: This is the same IKONOS image after running ENVI NNDiffuse PanSharpening" } ] } [/block] ## <a name="Quickstart"></a>Quickstart Tutorial Example Script: Run in a python environment (i.e. - IPython) using the gbdxtools interface. [block:code] { "codes": [ { "code": "from gbdxtools import Interface\ngbdx = Interface()\n\n# Edit the following path to reflect a specific path to an image\ndata_low_res = 's3://gbd-customer-data/CustomerAccount#/PathToImage/'\ndata_high_res = 's3://gbd-customer-data/CustomerAccount#/PathToImage/'\n\nenvi = gbdx.Task(\"ENVI_NNDiffusePanSharpening\")\nenvi.inputs.input_low_resolution_raster = data_low_res\nenvi.inputs.input_high_resolution_raster = data_high_res\n\nworkflow = gbdx.Workflow([ envi ])\n\nworkflow.savedata(\n envi.outputs.output_raster_uri,\n location='NNDPanSharp/output_raster_uri'\n)\n\nprint workflow.execute()\nprint workflow.status\n# Repeat workflow.status as needed to monitor progress.", "language": "python" } ] } [/block] ## <a name="Task Runtime"></a>Task Runtime These are the average runtimes for this algorithm. All benchmark tests were run using a standard set of images, based on our most common customer scenarios. Runtime benchmarks apply to the specific algorithm, and don’t represent the runtime of a complete workflow. | Sensor Name | Total Pixels | Total Area (k2) | Time(secs) | Time/Area k2 | | ----------- | :----------: | --------------- | ---------- | ------------ | | QB | 41,551,668 | 312.07 | 1242.554 | 3.98 | | WV02 | 35,872,942 | 329.87 | 4555.128 | 13.81 | | WV03 | 35,371,971 | 196.27 | 6741.883 | 34.35 | | GE01 | 57,498,000 | 332.97 | 2286.475 | 6.87 | | IKONOS | 29,976,302 | 273.34 | 367.958 | 1.35 | ## <a name="Input Options"></a>Input Options The following table lists all inputs for this task. For details regarding the use of all ENVI input types refer to the [ENVI Task Runner Inputs]([See ENVIRASTER input type](https://github.com/TDG-Platform/docs/blob/master/ENVI_Task_Runner_Inputs.md)) documentation. | Name | Required | Default | Valid Values | Description | | ---------------------------------------- | :------: | :--------------------------------------: | :--------------------------------------: | ---------------------------------------- | | file_types | False | None | string | GBDX Option. Comma separated list of permitted file type extensions. Use this to filter input files -- Value Type: STRING | | input_low_resolution_raster | True | N/A | A valid S3 URL containing image files. | Specify a low-resolution raster. | | input_low_resolution_raster_format | False | None | [See ENVIRASTER input type](https://github.com/TDG-Platform/docs/blob/master/ENVI_Task_Runner_Inputs.md) | Provide the format of the image, for example: landsat-8. -- Value Type: STRING | | input_low_resolution_raster_band_grouping | False | None | [See ENVIRASTER input type](https://github.com/TDG-Platform/docs/blob/master/ENVI_Task_Runner_Inputs.md) | Provide the name of the band grouping to be used in the task, ie - panchromatic. -- Value Type: STRING | | input_low_resolution_raster_filename | False | None | [See ENVIRASTER input type](https://github.com/TDG-Platform/docs/blob/master/ENVI_Task_Runner_Inputs.md) | Provide the explicit relative raster filename that ENVI will open. This overrides any file lookup in the task runner. -- Value Type: STRING | | input_high_resolution_raster | True | N/A | A valid S3 URL containing image files. | Specify a high-resolution panchromatic raster. | | input_high_resolution_raster_format | False | None | [See ENVIRASTER input type](https://github.com/TDG-Platform/docs/blob/master/ENVI_Task_Runner_Inputs.md) | Provide the format of the image, for example: landsat-8. -- Value Type: STRING | | input_high_resolution_raster_band_grouping | False | None | [See ENVIRASTER input type](https://github.com/TDG-Platform/docs/blob/master/ENVI_Task_Runner_Inputs.md) | Provide the name of the band grouping to be used in the task, ie - panchromatic. -- Value Type: STRING | | input_high_resolution_raster_filename | False | None | [See ENVIRASTER input type](https://github.com/TDG-Platform/docs/blob/master/ENVI_Task_Runner_Inputs.md) | Provide the explicit relative raster filename that ENVI will open. This overrides any file lookup in the task runner. -- Value Type: STRING | | intensity_smoothness | False | value is set adaptively using local similarity | string float (positive number) | A positive number that defines the intensity smoothness factor (σ) of the NNDiffuse pan sharpening algorithm. A smaller intensity_smoothness value will restrict diffusion and produce sharper images, but will have more noise. A larger value is also suggested for panchromatic scenes with high contrast (they require less diffusion sensitivity), and with complex scenes (to reduce the possibility of noise). If not specified, the value is set adaptively using local similarity. -- Value Type: FLOAT | | spatial_smoothness | False | pixel_size_ratio x 0.62 | string float (positive number) | A positive number that defines the spatial smoothness factor (σs) of the NNDiffuse pan sharpening algorithm. spatial_smoothness should be set to a value that will resemble a bicubic interpolation kernel. -- Value Type: FLOAT | | pixel_size_ratio | False | resolution ratio of the sensor in meters (low-res/high-res) | string int | A scalar number that defines the pixel size ratio of the low-resolution raster and the high-resolution raster. The NNDiffuse pan-sharpening algorithm requires that the pixel size ratio be an integer. If this property is not set, the value is determined from the metadata of the input rasters. -- Value Type: UINT | | output_raster_uri_filename | False | None | string | Specify a string with the fully-qualified path and filename for OUTPUT_RASTER. -- Value Type: STRING | ## <a name="Outputs"></a>Outputs The following table lists all the outputs for this task. | Name | Required | Description | | ----------------- | :------: | ---------------------------------------- | | output_raster_uri | True | Output for OUTPUT_RASTER. | | task_meta_data | False | GBDX Option. Output location for task meta data such as execution log and output JSON. | ##### Output Structure The output_raster image file will be written to the specified S3 Customer Account Location in GeoTiff (\*.tif) format, with an ENVI header file (\*.hdr). ## <a name="Advanced Options"></a>Advanced Options This task requires that WorldView-2, Worldview-3, GeoEYE-1 and Quickbird imagery has been pre-processed using the [Advanced Image Preprocessor](#https://github.com/TDG-Platform/docs/blob/master/Advanced_Image_Preprocessor.md) for proper orthorectification of both the panchromatic and multispectral images. Use NNDiffuse Pansharpening on imagery from these sensors when you need full multipsectral band (4-band or 8-band) pansharpening. [block:code] { "codes": [ { "code": "from gbdxtools import Interface\ngbdx = Interface()\n\n# Edit the following path to reflect a specific path to an image\ndata = 's3://gbd-customer-data/CustomerAccount#/PathToImage/'\n\naop_low = gbdx.Task(\"AOP_Strip_Processor\") \naop_low.inputs.data = data\naop_low.inputs.enable_dra = False\naop_low.inputs.bands = 'MS'\n\naop_high = gbdx.Task(\"AOP_Strip_Processor\") \naop_high.inputs.data = data\naop_high.inputs.enable_dra = False\naop_high.inputs.bands = 'PAN'\n\nenvi = gbdx.Task(\"ENVI_NNDiffusePanSharpening\")\nenvi.inputs.input_low_resolution_raster = aop_low.outputs.data.value\nenvi.inputs.input_high_resolution_raster = aop_high.outputs.data.value\n\nworkflow = gbdx.Workflow([ envi ])\n\nworkflow.savedata(\n envi.outputs.output_raster_uri, \n location='NNDPanSharp/output_raster_uri' # edit location to suit account\n)\n\nprint workflow.execute()\nprint workflow.status\n# Repeat workflow.status as needed to monitor progress.", "language": "python" } ] } [/block] ##<a name="Known Issues"></a>Known Issues None. ## Background For additional background information on this task please refer to the <a href="http://www.harrisgeospatial.com/docs/home.html">Harris Geospatial ENVI documentation.</a>​ #### Contact Us If you have any questions or issues with this task, please contact [**gbdx-support@digitalglobe.com** ](mailto:gbdx-support@digitalglobe.com).