<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="MS Exchange Server version 08.00.0681.000">
<title></title>
</head>
<body>
<!-- Converted from text/plain format -->
<p><font size="2">Greetings,<br>
<br>
Following on from the GDAL 1.10 JP2000 Problem/Crash thread (<a href="http://osgeo-org.1560.x6.nabble.com/gdal-dev-GDAL-1-10-JP2000-Problem-Crash-td5054876.html">http://osgeo-org.1560.x6.nabble.com/gdal-dev-GDAL-1-10-JP2000-Problem-Crash-td5054876.html</a>),
 I'm trying to use the GDAL API Proxy and deregister the JP2ECW driver at runtime to avoid crashes with those Pleiades JP2s.  I'm stuck with the ERDAS ECW/JP2 v3.3 SDK at the moment due to the licensing of the v.4+ SDK and the need to support ECW on Linux. 
 However, deregistering fails when opening a dataset using the API Proxy.  Below is a simple test script that demonstrates this.<br>
<br>
from osgeo import gdal<br>
print gdal.__version__<br>
gdal.UseExceptions()<br>
<br>
f='img_phr1a_p_001/img_phr1a_p_201202250025599_sen_ipu_20120504_1737-002_r1c1.jp2'<br>
<br>
gdal.AllRegister()<br>
<br>
d=gdal.GetDriverByName('JP2ECW')<br>
d.Deregister()<br>
ds=gdal.Open(f)<br>
print 'No PROXY:'+ds.GetDriver().GetDescription()<br>
del ds;ds=None<br>
<br>
gdal.AllRegister()<br>
<br>
d=gdal.GetDriverByName('JP2ECW')<br>
d.Deregister()<br>
ds=gdal.Open('API_PROXY:'+f)<br>
print 'API_PROXY:'+ds.GetDriver().GetDescription()<br>
del ds;ds=None<br>
<br>
This prints:<br>
1.10.0<br>
No PROXY:JP2OpenJPEG<br>
API_PROXY:JP2ECW<br>
<br>
I realise it's a bit of a dumb test, i.e. if gdal can open it, what's the problem...? But the crashes with this particular file are happening when running another operation after successfully opening the file. So what I was hoping to do was wrap a try: except:
 around the operation and if that fails, deregister the crappy (but much faster) ERDAS driver and fall back to the OpenJPEG driver.<br>
<br>
Is there a workaround?<br>
<br>
Regards,<br>
<br>
Luke Pinner<br>
</font></p>
<p>If you have received this transmission in error please notify us immediately by return e-mail and delete all copies. If this e-mail or any attachments have been sent to you in error, that error does not constitute waiver of any confidentiality, privilege or copyright in respect of information in the e-mail or attachments.

Please consider the environment before printing this email.</p>
</body>
</html>