Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
vil_tiff_header Class Reference

#include <vil_tiff_header.h>

Public Member Functions

 vil_tiff_header (TIFF *tif)
 
 vil_tiff_header (TIFF *tif, const unsigned ni, const unsigned nj, const unsigned nplanes, vil_pixel_format const &fmt, const unsigned size_block_i, const unsigned size_block_j)
 
vxl_uint_16 bytes_per_sample () const
 
vxl_uint_32 bytes_per_line () const
 theoretical from samples per line. More...
 
vxl_uint_32 actual_bytes_per_line () const
 As returned by the TIFF library. More...
 
vxl_uint_32 rows_in_strip () const
 
vxl_uint_32 strips_per_image () const
 
vxl_uint_32 actual_bytes_per_strip (const vxl_uint_32 strip_index) const
 
vxl_uint_32 bytes_per_strip () const
 
vxl_uint_32 tiles_across () const
 
vxl_uint_32 tiles_down () const
 
vxl_uint_32 tiles_per_image () const
 
vxl_uint_32 bytes_per_tile () const
 
unsigned n_separate_image_planes () const
 the actual number of separate image planes in the tiff image. More...
 
unsigned encoded_bytes_per_block () const
 the number of encoded bytes in a tile or strip. More...
 
unsigned samples_per_line () const
 the number of samples in a block. More...
 
bool is_tiled () const
 is the image tiled. More...
 
bool is_striped () const
 is the image striped (one of these must be true or read failed). More...
 
bool need_byte_swap ()
 
vxl_uint_16 n_images ()
 the number of images in the file. More...
 

Public Attributes

std::string artist
 
ushort_tag bits_per_sample
 
ushort_tag cell_length
 
ushort_tag cell_width
 
std::vector< std::vector< vxl_uint_16 > > color_map
 
bool color_map_valid
 
ushort_tag compression
 
std::string copyright
 
std::string date_time
 
ushort_tag extra_samples
 
ushort_tag fill_order
 
std::vector< vxl_uint_16 > gray_response_curve
 
bool grey_response_curve_valid
 
ushort_tag gray_response_unit
 
std::string host_computer
 
std::string image_description
 
ulong_tag image_length
 
ulong_tag image_width
 
unsigned nplanes
 
std::string make
 
ushort_tag max_sample_value
 
ushort_tag min_sample_value
 
std::string model
 
ushort_tag orientation
 
ushort_tag photometric
 
ushort_tag planar_config
 
ushort_tag resolution_unit
 
ulong_tag rows_per_strip
 
ushort_tag sample_format
 
ushort_tag samples_per_pixel
 
std::string software
 
vxl_uint_32 * strip_byte_counts
 
bool strip_byte_counts_valid
 
vxl_uint_32 * strip_offsets
 
bool strip_offsets_valid
 
ushort_tag subfile_type
 
ushort_tag thresholding
 
float x_resolution
 
bool x_resolution_valid
 
float y_resolution
 
bool y_resolution_valid
 
bool is_tiled_flag
 
ulong_tag tile_width
 
ulong_tag tile_length
 
vxl_uint_32 * tile_offsets
 
bool tile_offsets_valid
 
vxl_uint_32 * tile_byte_counts
 
bool tile_byte_counts_valid
 
vil_pixel_format pix_fmt
 
bool format_supported
 true if the specified format can be read or written. More...
 

Private Member Functions

bool read_header ()
 read/write mode true for read. More...
 
bool set_header (unsigned ni, unsigned nj, unsigned nplanes, vil_pixel_format const &fmt, const unsigned size_block_i, const unsigned size_block_j)
 returns false if the format cannot be written by current version. More...
 
bool compute_pixel_format ()
 returns false if the format not handled by this reader. More...
 
bool parse_pixel_format (vil_pixel_format const &fmt)
 returns false if the format not handled by this writer. More...
 

Private Attributes

TIFF * tif_
 
bool file_is_big_endian_
 
bool machine_is_big_endian_
 

Detailed Description

Definition at line 67 of file vil_tiff_header.h.

Constructor & Destructor Documentation

◆ vil_tiff_header() [1/2]

vil_tiff_header::vil_tiff_header ( TIFF *  tif)
inline

Definition at line 70 of file vil_tiff_header.h.

◆ vil_tiff_header() [2/2]

vil_tiff_header::vil_tiff_header ( TIFF *  tif,
const unsigned  ni,
const unsigned  nj,
const unsigned  nplanes,
vil_pixel_format const &  fmt,
const unsigned  size_block_i,
const unsigned  size_block_j 
)

Definition at line 745 of file vil_tiff_header.cxx.

Member Function Documentation

◆ actual_bytes_per_line()

vxl_uint_32 vil_tiff_header::actual_bytes_per_line ( ) const

As returned by the TIFF library.

Definition at line 305 of file vil_tiff_header.cxx.

◆ actual_bytes_per_strip()

vxl_uint_32 vil_tiff_header::actual_bytes_per_strip ( const vxl_uint_32  strip_index) const

Definition at line 328 of file vil_tiff_header.cxx.

◆ bytes_per_line()

vxl_uint_32 vil_tiff_header::bytes_per_line ( ) const

theoretical from samples per line.

Definition at line 298 of file vil_tiff_header.cxx.

◆ bytes_per_sample()

vxl_uint_16 vil_tiff_header::bytes_per_sample ( ) const
inline

Definition at line 82 of file vil_tiff_header.h.

◆ bytes_per_strip()

vxl_uint_32 vil_tiff_header::bytes_per_strip ( ) const

Definition at line 336 of file vil_tiff_header.cxx.

◆ bytes_per_tile()

vxl_uint_32 vil_tiff_header::bytes_per_tile ( ) const

Definition at line 341 of file vil_tiff_header.cxx.

◆ compute_pixel_format()

bool vil_tiff_header::compute_pixel_format ( )
private

returns false if the format not handled by this reader.

(samples_per_pixel.valid) ||

Definition at line 354 of file vil_tiff_header.cxx.

◆ encoded_bytes_per_block()

unsigned vil_tiff_header::encoded_bytes_per_block ( ) const

the number of encoded bytes in a tile or strip.

Definition at line 280 of file vil_tiff_header.cxx.

◆ is_striped()

bool vil_tiff_header::is_striped ( ) const

is the image striped (one of these must be true or read failed).

Definition at line 264 of file vil_tiff_header.cxx.

◆ is_tiled()

bool vil_tiff_header::is_tiled ( ) const

is the image tiled.

Definition at line 258 of file vil_tiff_header.cxx.

◆ n_images()

vxl_uint_16 vil_tiff_header::n_images ( )

the number of images in the file.

Definition at line 347 of file vil_tiff_header.cxx.

◆ n_separate_image_planes()

unsigned vil_tiff_header::n_separate_image_planes ( ) const

the actual number of separate image planes in the tiff image.

Definition at line 243 of file vil_tiff_header.cxx.

◆ need_byte_swap()

bool vil_tiff_header::need_byte_swap ( )
inline

Definition at line 234 of file vil_tiff_header.h.

◆ parse_pixel_format()

bool vil_tiff_header::parse_pixel_format ( vil_pixel_format const &  fmt)
private

returns false if the format not handled by this writer.

Definition at line 651 of file vil_tiff_header.cxx.

◆ read_header()

bool vil_tiff_header::read_header ( void  )
private

read/write mode true for read.

returns false if the format cannot be read by current version

--------------------------------------------—///

--------------------------------------------—///

Definition at line 99 of file vil_tiff_header.cxx.

◆ rows_in_strip()

vxl_uint_32 vil_tiff_header::rows_in_strip ( ) const

Definition at line 310 of file vil_tiff_header.cxx.

◆ samples_per_line()

unsigned vil_tiff_header::samples_per_line ( ) const

the number of samples in a block.

Definition at line 291 of file vil_tiff_header.cxx.

◆ set_header()

bool vil_tiff_header::set_header ( unsigned  ni,
unsigned  nj,
unsigned  nplanes,
vil_pixel_format const &  fmt,
const unsigned  size_block_i,
const unsigned  size_block_j 
)
private

returns false if the format cannot be written by current version.

Definition at line 685 of file vil_tiff_header.cxx.

◆ strips_per_image()

vxl_uint_32 vil_tiff_header::strips_per_image ( ) const
inline

Definition at line 148 of file vil_tiff_header.h.

◆ tiles_across()

vxl_uint_32 vil_tiff_header::tiles_across ( ) const
inline

Definition at line 201 of file vil_tiff_header.h.

◆ tiles_down()

vxl_uint_32 vil_tiff_header::tiles_down ( ) const
inline

Definition at line 206 of file vil_tiff_header.h.

◆ tiles_per_image()

vxl_uint_32 vil_tiff_header::tiles_per_image ( ) const
inline

Definition at line 211 of file vil_tiff_header.h.

Member Data Documentation

◆ artist

std::string vil_tiff_header::artist

Definition at line 76 of file vil_tiff_header.h.

◆ bits_per_sample

ushort_tag vil_tiff_header::bits_per_sample

Definition at line 81 of file vil_tiff_header.h.

◆ cell_length

ushort_tag vil_tiff_header::cell_length

Definition at line 85 of file vil_tiff_header.h.

◆ cell_width

ushort_tag vil_tiff_header::cell_width

Definition at line 87 of file vil_tiff_header.h.

◆ color_map

std::vector<std::vector<vxl_uint_16> > vil_tiff_header::color_map

Definition at line 91 of file vil_tiff_header.h.

◆ color_map_valid

bool vil_tiff_header::color_map_valid

Definition at line 92 of file vil_tiff_header.h.

◆ compression

ushort_tag vil_tiff_header::compression

Definition at line 94 of file vil_tiff_header.h.

◆ copyright

std::string vil_tiff_header::copyright

Definition at line 96 of file vil_tiff_header.h.

◆ date_time

std::string vil_tiff_header::date_time

Definition at line 98 of file vil_tiff_header.h.

◆ extra_samples

ushort_tag vil_tiff_header::extra_samples

Definition at line 101 of file vil_tiff_header.h.

◆ file_is_big_endian_

bool vil_tiff_header::file_is_big_endian_
private

Definition at line 261 of file vil_tiff_header.h.

◆ fill_order

ushort_tag vil_tiff_header::fill_order

Definition at line 103 of file vil_tiff_header.h.

◆ format_supported

bool vil_tiff_header::format_supported

true if the specified format can be read or written.

check and return a null resource if false

Definition at line 243 of file vil_tiff_header.h.

◆ gray_response_curve

std::vector<vxl_uint_16> vil_tiff_header::gray_response_curve

Definition at line 107 of file vil_tiff_header.h.

◆ gray_response_unit

ushort_tag vil_tiff_header::gray_response_unit

Definition at line 111 of file vil_tiff_header.h.

◆ grey_response_curve_valid

bool vil_tiff_header::grey_response_curve_valid

Definition at line 108 of file vil_tiff_header.h.

◆ host_computer

std::string vil_tiff_header::host_computer

Definition at line 113 of file vil_tiff_header.h.

◆ image_description

std::string vil_tiff_header::image_description

Definition at line 114 of file vil_tiff_header.h.

◆ image_length

ulong_tag vil_tiff_header::image_length

Definition at line 116 of file vil_tiff_header.h.

◆ image_width

ulong_tag vil_tiff_header::image_width

Definition at line 124 of file vil_tiff_header.h.

◆ is_tiled_flag

bool vil_tiff_header::is_tiled_flag

Definition at line 185 of file vil_tiff_header.h.

◆ machine_is_big_endian_

bool vil_tiff_header::machine_is_big_endian_
private

Definition at line 262 of file vil_tiff_header.h.

◆ make

std::string vil_tiff_header::make

Definition at line 128 of file vil_tiff_header.h.

◆ max_sample_value

ushort_tag vil_tiff_header::max_sample_value

Definition at line 130 of file vil_tiff_header.h.

◆ min_sample_value

ushort_tag vil_tiff_header::min_sample_value

Definition at line 132 of file vil_tiff_header.h.

◆ model

std::string vil_tiff_header::model

Definition at line 134 of file vil_tiff_header.h.

◆ nplanes

unsigned vil_tiff_header::nplanes

Definition at line 126 of file vil_tiff_header.h.

◆ orientation

ushort_tag vil_tiff_header::orientation

Definition at line 136 of file vil_tiff_header.h.

◆ photometric

ushort_tag vil_tiff_header::photometric

Definition at line 138 of file vil_tiff_header.h.

◆ pix_fmt

vil_pixel_format vil_tiff_header::pix_fmt

Definition at line 239 of file vil_tiff_header.h.

◆ planar_config

ushort_tag vil_tiff_header::planar_config

Definition at line 140 of file vil_tiff_header.h.

◆ resolution_unit

ushort_tag vil_tiff_header::resolution_unit

Definition at line 142 of file vil_tiff_header.h.

◆ rows_per_strip

ulong_tag vil_tiff_header::rows_per_strip

Definition at line 144 of file vil_tiff_header.h.

◆ sample_format

ushort_tag vil_tiff_header::sample_format

Definition at line 159 of file vil_tiff_header.h.

◆ samples_per_pixel

ushort_tag vil_tiff_header::samples_per_pixel

Definition at line 160 of file vil_tiff_header.h.

◆ software

std::string vil_tiff_header::software

Definition at line 162 of file vil_tiff_header.h.

◆ strip_byte_counts

vxl_uint_32* vil_tiff_header::strip_byte_counts

Definition at line 169 of file vil_tiff_header.h.

◆ strip_byte_counts_valid

bool vil_tiff_header::strip_byte_counts_valid

Definition at line 170 of file vil_tiff_header.h.

◆ strip_offsets

vxl_uint_32* vil_tiff_header::strip_offsets

Definition at line 171 of file vil_tiff_header.h.

◆ strip_offsets_valid

bool vil_tiff_header::strip_offsets_valid

Definition at line 172 of file vil_tiff_header.h.

◆ subfile_type

ushort_tag vil_tiff_header::subfile_type

Definition at line 174 of file vil_tiff_header.h.

◆ thresholding

ushort_tag vil_tiff_header::thresholding

Definition at line 176 of file vil_tiff_header.h.

◆ tif_

TIFF* vil_tiff_header::tif_
private

Definition at line 248 of file vil_tiff_header.h.

◆ tile_byte_counts

vxl_uint_32* vil_tiff_header::tile_byte_counts

Definition at line 198 of file vil_tiff_header.h.

◆ tile_byte_counts_valid

bool vil_tiff_header::tile_byte_counts_valid

Definition at line 199 of file vil_tiff_header.h.

◆ tile_length

ulong_tag vil_tiff_header::tile_length

Definition at line 189 of file vil_tiff_header.h.

◆ tile_offsets

vxl_uint_32* vil_tiff_header::tile_offsets

Definition at line 196 of file vil_tiff_header.h.

◆ tile_offsets_valid

bool vil_tiff_header::tile_offsets_valid

Definition at line 197 of file vil_tiff_header.h.

◆ tile_width

ulong_tag vil_tiff_header::tile_width

Definition at line 187 of file vil_tiff_header.h.

◆ x_resolution

float vil_tiff_header::x_resolution

Definition at line 178 of file vil_tiff_header.h.

◆ x_resolution_valid

bool vil_tiff_header::x_resolution_valid

Definition at line 179 of file vil_tiff_header.h.

◆ y_resolution

float vil_tiff_header::y_resolution

Definition at line 181 of file vil_tiff_header.h.

◆ y_resolution_valid

bool vil_tiff_header::y_resolution_valid

Definition at line 182 of file vil_tiff_header.h.


The documentation for this class was generated from the following files: