OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimKakaduCommon.h
Go to the documentation of this file.
1 //----------------------------------------------------------------------------
2 //
3 // License: LGPL
4 //
5 // See LICENSE.txt file in the top level directory for more details.
6 //
7 // Description: Common code for this plugin.
8 //
9 //----------------------------------------------------------------------------
10 // $Id: ossimKakaduCommon.h 23121 2015-01-30 01:24:56Z dburken $
11 
12 #ifndef ossimKakaduCommon_HEADER
13 #define ossimKakaduCommon_HEADER 1
14 
16 #include <iosfwd>
17 #include <vector>
18 
19 class jp2_source;
20 
21 namespace kdu_core
22 {
23  class kdu_codestream;
24  class kdu_thread_env;
25  class kdu_thread_queue;
26 
27  struct kdu_coords;
28  struct kdu_dims;
29 }
30 
31 namespace kdu_supp
32 {
33  struct kdu_channel_mapping;
34 }
35 
36 
37 class ossimImageData;
38 class ossimIrect;
39 
40 namespace ossim
41 {
49  void getDims(const ossimIrect& rect, kdu_core::kdu_dims& dims);
50 
58  void getRect(const kdu_core::kdu_dims& dims, ossimIrect& rect);
59 
78  bool clipRegionToImage(kdu_core::kdu_codestream& codestream,
79  kdu_core::kdu_dims& region,
80  int discard_levels,
81  kdu_core::kdu_dims& clipRegion);
82 
101  bool getCodestreamDimensions(kdu_core::kdu_codestream& codestream,
102  std::vector<ossimIrect>& imageDims,
103  std::vector<ossimIrect>& tileDims);
104 
120  bool copyRegionToTile(kdu_supp::kdu_channel_mapping* channelMapping,
121  kdu_core::kdu_codestream& codestream,
122  int discard_levels,
123  kdu_core::kdu_thread_env* threadEnv,
124  kdu_core::kdu_thread_queue* threadQueue,
125  ossimImageData* destTile);
126 
142  bool copyRegionToTile(kdu_core::kdu_codestream& codestream,
143  int discard_levels,
144  kdu_core::kdu_thread_env* threadEnv,
145  kdu_core::kdu_thread_queue* threadQueue,
146  ossimImageData* destTile);
147 
154  void unNormalizeTile(ossimImageData* result);
155 
157  std::ostream& print(std::ostream& out, kdu_core::kdu_codestream& cs);
158 
160  std::ostream& print(std::ostream& out, const kdu_core::kdu_dims& dims);
161 
163  std::ostream& print(std::ostream& out, const kdu_core::kdu_coords& coords);
164 
165 } // matches: namespace ossim
166 
167 #endif /* matches: #ifndef ossimKakaduCommon_HEADER */
This code was derived from https://gist.github.com/mshockwave.
Definition: Barrier.h:8
std::ostream & print(std::ostream &out, kdu_core::kdu_codestream &cs)
Convenience print method for kdu_codestream.
void unNormalizeTile(ossimImageData *result)
Un-normalizes float tile from kdu_region_decompressor::process method.
bool clipRegionToImage(kdu_core::kdu_codestream &codestream, kdu_core::kdu_dims &region, int discard_levels, kdu_core::kdu_dims &clipRegion)
Sets clipRegion from region, and image dimensions for level.
void getDims(const ossimIrect &rect, kdu_core::kdu_dims &dims)
Convenience method to convert ossimIrect to kdu_dims.
bool copyRegionToTile(kdu_supp::kdu_channel_mapping *channelMapping, kdu_core::kdu_codestream &codestream, int discard_levels, kdu_core::kdu_thread_env *threadEnv, kdu_core::kdu_thread_queue *threadQueue, ossimImageData *destTile)
Copies region from codestream to tile at a given rlevel.
void getRect(const kdu_core::kdu_dims &dims, ossimIrect &rect)
Convenience method to convert kdu_core::kdu_dims to ossimIrect.
bool getCodestreamDimensions(kdu_core::kdu_codestream &codestream, std::vector< ossimIrect > &imageDims, std::vector< ossimIrect > &tileDims)
Gets image and tile dimensions from codestream for each resolution level (rlevel).
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23