1 /* 2 * pttiff.h 3 * 4 * 5 * Copyright Helmut Dersch and Max Lyons 6 * 7 * May 2006 8 * 9 * This program is free software; you can redistribute it and/or 10 * modify it under the terms of the GNU General Public 11 * License as published by the Free Software Foundation; either 12 * version 2 of the License, or (at your option) any later version. 13 * 14 * This software is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 * General Public License for more details. 18 * 19 * You should have received a copy of the GNU General Public License 20 * along with this software; see the file COPYING. If not, a copy 21 * can be downloaded from http://www.gnu.org/licenses/gpl.html, or 22 * obtained by writing to the Free Software Foundation, Inc., 23 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 24 * 25 * 26 * Author: Max Lyons 27 * 28 */ 29 30 #ifndef __PTtiff_h__ 31 32 #define __PTtiff_h__ 33 34 #include <tiffio.h> 35 #include <tiff.h> 36 #include "file.h" 37 38 typedef struct 39 { 40 TIFF *tiff; 41 42 pano_ImageMetadata metadata; 43 44 } pano_Tiff; 45 46 47 void getCropInformationFromTiff(TIFF *tif, CropInfo *c); 48 void setCropInformationInTiff(TIFF *tiffFile, CropInfo *crop_info); 49 50 //int TiffGetImageParameters(TIFF *tiffFile, pt_tiff_parms *tiffData); 51 //int TiffSetImageParameters(TIFF *tiffFile, pt_tiff_parms *tiffData); 52 53 PANO13_IMPEX int panoTiffUnCrop(char *inputFile, char *outputFile, pano_cropping_parms *croppingParms); 54 PANO13_IMPEX int panoTiffCrop(char *inputFile, char *outputFile, pano_cropping_parms *croppingParms); 55 56 PANO13_IMPEX int panoTiffGetCropInformation(pano_Tiff * file); 57 PANO13_IMPEX int panoTiffRowInsideROI(pano_Tiff * image, int row); 58 PANO13_IMPEX int panoTiffIsCropped(pano_Tiff * file); 59 PANO13_IMPEX int panoTiffBytesPerLine(pano_Tiff * file); 60 PANO13_IMPEX int panoTiffSamplesPerPixel(pano_Tiff * file); 61 PANO13_IMPEX int panoTiffBitsPerPixel(pano_Tiff * file); 62 PANO13_IMPEX int panoTiffBytesPerPixel(pano_Tiff * file); 63 PANO13_IMPEX int panoTiffImageHeight(pano_Tiff * file); 64 PANO13_IMPEX int panoTiffImageWidth(pano_Tiff * file); 65 PANO13_IMPEX int panoTiffXOffset(pano_Tiff * file); 66 PANO13_IMPEX int panoTiffYOffset(pano_Tiff * file); 67 PANO13_IMPEX pano_ImageMetadata *panoTiffImageMetadata(pano_Tiff * file); 68 PANO13_IMPEX int panoTiffFullImageWidth(pano_Tiff * file); 69 PANO13_IMPEX int panoTiffFullImageHeight(pano_Tiff * file); 70 PANO13_IMPEX int panoTiffReadScanLineFullSize(pano_Tiff * file, void *buffer, int row); 71 PANO13_IMPEX int panoTiffWriteScanLineFullSize(pano_Tiff * file, void *buffer, int row); 72 PANO13_IMPEX int panoTiffSetCropInformation(pano_Tiff * file); 73 PANO13_IMPEX int panoTiffGetImageProperties(pano_Tiff * tiff); 74 PANO13_IMPEX int panoTiffSetImageProperties(pano_Tiff * file); 75 PANO13_IMPEX void panoTiffClose(pano_Tiff * file); 76 PANO13_IMPEX pano_Tiff *panoTiffCreateUnCropped(char *fileName, 77 pano_ImageMetadata * metadata); 78 PANO13_IMPEX pano_Tiff *panoTiffCreate(char *fileName, pano_ImageMetadata * metadata); 79 PANO13_IMPEX pano_Tiff *panoTiffOpen(char *fileName); 80 PANO13_IMPEX int panoTiffReadData(Image * im, pano_Tiff * tif); 81 PANO13_IMPEX int panoTiffWrite(Image * im, char *fileName); 82 PANO13_IMPEX int panoTiffRead(Image * im, char *fileName); 83 84 PANO13_IMPEX void panoTiffSetErrorHandler(void); 85 PANO13_IMPEX int panoTiffVerifyAreCompatible(fullPath * tiffFiles, int numberImages, 86 int optionalCheck); 87 PANO13_IMPEX int panoTiffDisplayInfo(char *fileName); 88 89 void panoImageDispose(Image *im) ; 90 91 92 #endif 93