comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » IDL-Python Bridge: problem with the ENVI function.
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
IDL-Python Bridge: problem with the ENVI function. [message #92916] Wed, 23 March 2016 04:46 Go to previous message
loreberna is currently offline  loreberna
Messages: 2
Registered: March 2016
Junior Member
Hi all,
my aim is to use a script written in IDL, into python:

IDL code:

PRO PS_GS
; Start the application
e = ENVI()
;Generate the roi from a vector file
; Open a vector file
file_vec = Filepath('Sic_Trapani.shp', ROOT_DIR = 'E:\mydirectory\')
vettore = e.OpenVector(file_vec)
; Get the task from the catalog of ENVITasks
Task_VtoR = ENVITask('VectorRecordsToROI')
; Define inputs
Task_VtoR.INPUT_VECTOR = vettore
; Define outputs
Task_VtoR.OUTPUT_ROI_URI = Filepath('roi_roi.xml', ROOT_DIR = 'E:\mydirectory\')
;Run the task
Task_VtoR.Execute
END

The above code, launched into IDL command prompt, works correctly.
I want make a python script that:

- option 1) launch the above idl .pro script
- option 2) use the IDL to Python Bridge sintax.

In the first case, using the `subprocess.call("idldirectory\idl.exe")` command, i can open the IDL prompt into the windows command prompt. But i can not execute any IDL function like a simple `PRINT, 'hello'`.

In the second case, i write the following poython code:

import subprocess
from subprocess import call
import idlpy
from idlpy import IDL
e=IDL.ENVI()
msi_file = """IDL.Filepath(mydata.tif", ROOT_DIR = 'mydirectory')"""
msi_raster = IDL.OpenRaster(msi_file)

The instruction `e=IDL.ENVI()` work correctly, in fact an Envi setion starts.

The instruction `msi_file = """IDL.Filepath(mydata.tif", ROOT_DIR = 'mydirectory')"""` work correctly.

My problem is with the OpenRaster instruction. It is an ENVI instruction and not an IDL instruction. So, IDL.OpenRaster does not work, and i do not have any solutions.

I have modified the code like:
msi_raster=IDL.ENVI().OpenRaster(msi_file)
The result is the following error message:
Impossible find the access point
??0LTISceneBuffer@LizardTech@@QEAA@AEBVLTIPixel@1@IIPEAPEAX@ Z
into the dynamic link library lti_DSDK.dll

Googling i have found this site:
Malware scan of gdal110.dll
Any help or suggestion? Thanks
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: barplot with 'vert_colors'
Next Topic: Re: plotting vectors on maps

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 15:07:19 PDT 2025

Total time taken to generate the page: 0.00486 seconds