Really liking the python functionality extended to the image object level! Wanted to post some feedback and initial questions I have regarding the external API, which I have been testing out today. I would be happy to connect via a virtual meeting to discuss further, if it would be easier to go back and forth that way. Thanks in advance.

1. ecogApi.add_image() method - is there a way to specify the band names for a multispectral image? The "layer_name" parameter in the examples only shows a single item ("layer 1"), and the documentation shows the input needs to be a string. Is there a way to provide a list or array of band/channel names (e.g., ["blue", "green", "red", "nir"])? If this would be possible, I see it as a very useful replacement for the way to load layers into projects. Generally, I use one data input (point cloud, MS image) for a base layer, and then use the lot of "update_variable" and "create/modify project" eCog algorithms to load in all layers (10-20+ rasters usually). I can see myself using Python as a more efficient way to update paths and load in layers than what I currently do, and it looks more transferable to many projects. I don't know if there is an existing mechanism in the 10.4 Python for this.

2. ecogApi.create_project() - when exactly does this need to be run? Is the only requirement that it needs to be run prior to running the ecogApi.analyze() method, as noted in the documentation? Are there other constraints for what has to be run prior to calling this method?

3. ecogApi.analyze() method - is this currently limited to a single/isolated project? The way most of my workflows are set up are large areas made of up of hundreds or thousands of tiles (point clouds, imagery mosaic to tiles, land cover raster to tiles). I am usually processing 20-30 tiles in parallel with the same rule set. Does the current functionality with this method apply to that scenario? If not in the current release, would that functionality be plausible for a future release?

4. Somewhat related to point 3: ecogApi.analyze() method - how does this work with subroutines? Generally for imagery and land cover rasters, I use the internal tiling ("create scene tiles" and "submit scenes for analysis" algorithms), contained on the "Main" routine, with all of the classification/processing within a sub-routine called "OnTiles" or something similar. Can the current Python functionality work with that rule set structure? Similarly, with that structure, how (if this is possible) would I use this method to process something on the subroutine, (e.g., ecogApi.analyze(process_id="[PATH_TO_SUBROUTINE]//do//segmentation")?

5. Are there other algorithms being considered for Python integration in future releases? I am really liking both the embedded and external Python functionality from releases 10.3 and 10.4. I would be happy to provide a wish-list of algorithms that would be great to run via Python.

Let me know if I can clarify any of my points above. Thanks again.


Recent Discussions

Need more help?

Enter Knowledge Base Contact Support