MrSID Decode SDK for Raster Reference Manual  9.5.1.4427
ltic_api.h
Go to the documentation of this file.
00001 /* $Id$ */
00002 /* //////////////////////////////////////////////////////////////////////////
00003 //                                                                         //
00004 // This code is Copyright (c) 2004 LizardTech, Inc, 1008 Western Avenue,   //
00005 // Suite 200, Seattle, WA 98104.  Unauthorized use or distribution         //
00006 // prohibited.  Access to and use of this code is permitted only under     //
00007 // license from LizardTech, Inc.  Portions of the code are protected by    //
00008 // US and foreign patents and other filings. All Rights Reserved.          //
00009 //                                                                         //
00011 /* PUBLIC - C */
00012 
00013 #ifndef LTI_CAPI_H
00014 #define LTI_CAPI_H
00015 
00016 #include "lti_types.h"
00017 #include "lti_metadataTypes.h"
00018 #include "lt_ioCStream.h"
00019 
00020 #ifdef LT_CPLUSPLUS
00021 extern "C" {
00022 #endif
00023 
00024 #if defined(LT_COMPILER_MS)
00025    #pragma warning(push,4)
00026 #endif
00027 
00028 
00041 #define LT_STS_CAPI_BASE            ((LT_STATUS)52000)
00042 #define LT_STS_CAPI_BadParam        ((LT_STATUS)52001)
00043 #define LT_STS_CAPI_MAX             ((LT_STATUS)52099)
00044 
00050 typedef void* LTICImageH;
00051 
00052 
00068 LT_STATUS ltic_getVersion(lt_uint32* major,
00069                           lt_uint32* minor,
00070                           lt_uint32* revision,
00071                           lt_uint32* build,
00072                           const char** branch);
00073 
00087 LT_STATUS ltic_getMrSIDGeneration(const char *fileName,
00088                                   int *generation,
00089                                   int *raster);
00090 
00105 LT_STATUS ltic_openMrSIDImageFile(LTICImageH* image,
00106                                   const char* fileName);
00107 
00122 LT_STATUS ltic_openMrSIDImageStream(LTICImageH* image,
00123                                     LTIOStreamH stream);
00124 
00139 LT_STATUS ltic_openJP2ImageFile(LTICImageH* image,
00140                                 const char* fileName);
00141 
00156 LT_STATUS ltic_openJP2ImageStream(LTICImageH* image,
00157                                   LTIOStreamH stream);
00158 
00173 LT_STATUS ltic_openNITFImageFile(LTICImageH* image,
00174                                  const char* fileName);
00175 
00187 LT_STATUS ltic_closeImage(LTICImageH image);
00188 
00200 lt_uint32 ltic_getWidth(const LTICImageH image);
00201 
00213 lt_uint32 ltic_getHeight(const LTICImageH image);
00214 
00224 LT_STATUS ltic_getDimsAtMag(LTICImageH image,
00225                             double magnification,
00226                             lt_uint32 *width,
00227                             lt_uint32 *height);
00228 
00240 LTIColorSpace ltic_getColorSpace(const LTICImageH image);
00241 
00253 lt_uint16 ltic_getNumBands(const LTICImageH image);
00254 
00266 LTIDataType ltic_getDataType(const LTICImageH image);
00267 
00279 double ltic_getMinMagnification(const LTICImageH image);
00280 
00292 double ltic_getMaxMagnification(const LTICImageH image);
00293 
00307 lt_uint8 ltic_isMrSIDLocked(const LTICImageH image);
00308 
00322 LT_STATUS ltic_setMrSIDPassword(LTICImageH image, const lt_utf8* passwd);
00323 
00335 double ltic_getGeoXOrigin(const LTICImageH image);
00336 
00348 double ltic_getGeoYOrigin(const LTICImageH image);
00349 
00361 double ltic_getGeoXResolution(const LTICImageH image);
00362 
00374 double ltic_getGeoYResolution(const LTICImageH image);
00375 
00387 double ltic_getGeoXRotation(const LTICImageH image);
00388 
00400 double ltic_getGeoYRotation(const LTICImageH image);
00401 
00422 LT_STATUS ltic_decode(LTICImageH image,
00423                       double xUpperLeft,
00424                       double yUpperLeft,
00425                       double width,
00426                       double height,
00427                       double magnification,
00428                       void** buffers);
00429    
00443 lt_uint32 ltic_getNumMetadataRecords(LTICImageH image);
00444 
00463 LT_STATUS ltic_getMetadataRecord(LTICImageH image,
00464                                  lt_uint32 recordNum,
00465                                  const char** tag,
00466                                  LTIMetadataDataType* datatype,
00467                                  lt_uint32* numDims,
00468                                  const lt_uint32** dims,
00469                                  const void** data);
00470 
00471 #ifdef LT_CPLUSPLUS
00472 }
00473 #endif
00474 
00475 #if defined(LT_COMPILER_MS)
00476    #pragma warning(pop)
00477 #endif
00478 
00479 #endif