20 #ifndef TESSERACT_IMAGE_IMAGEDATA_H_ 21 #define TESSERACT_IMAGE_IMAGEDATA_H_ 62 int* max_x,
int* max_y);
68 int x()
const {
return x_; }
69 int y()
const {
return y_; }
70 int dir()
const {
return dir_; }
90 static int SortByXBucket(
const void*,
const void*);
112 static ImageData* Build(
const char* name,
int page_number,
const char*
lang,
113 const char* imagedata,
int imagedatasize,
114 const char* truth_text,
const char* box_text);
125 return imagefilename_;
128 imagefilename_ = name;
146 return transcription_;
155 return box_texts_[index];
158 void SetPix(Pix* pix);
167 Pix* PreScale(
int target_height,
int max_height,
float* scale_factor,
168 int* scaled_width,
int* scaled_height,
171 int MemoryUsed()
const;
174 void Display()
const;
189 bool AddBoxes(
const char* box_text);
212 bool LoadDocument(
const char*
filename,
int start_page,
inT64 max_memory,
215 void SetDocument(
const char* filename,
inT64 max_memory,
FileReader reader);
217 bool SaveDocument(
const char* filename,
FileWriter writer);
225 return document_name_;
246 void LoadPageInBackground(
int index);
253 bool IsPageAvailable(
int index,
ImageData** page);
258 pages_[index] = NULL;
272 void set_total_pages(
int total) {
274 total_pages_ = total;
276 void set_memory_used(
inT64 memory_used) {
278 memory_used_ = memory_used;
304 mutable SVMutex general_mutex_;
320 num_pages_per_doc_ = 0;
337 return GetPageSequential(serial);
339 return GetPageRoundRobin(serial);
353 const ImageData* GetPageRoundRobin(
int serial);
357 const ImageData* GetPageSequential(
int serial);
361 int CountNeighbourDocs(
int index,
int dir);
369 int num_pages_per_doc_;
377 #endif // TESSERACT_IMAGE_IMAGEDATA_H_
bool DeSerialize(bool swap, FILE *fp)
const ImageData * GetPageBySerial(int serial)
const int kFeaturePadding
const GenericVector< char > & image_data() const
void set_language(const STRING &lang)
bool(* FileReader)(const STRING &filename, GenericVector< char > *data)
const STRING & language() const
static void ComputeSize(const GenericVector< WordFeature > &features, int *max_x, int *max_y)
const GenericVector< STRING > & box_texts() const
const STRING & transcription() const
const STRING & box_text(int index) const
ImageData * TakePage(int index)
const GenericVector< TBOX > & boxes() const
const STRING & imagefilename() const
static void Draw(const GenericVector< WordFeature > &features, ScrollView *window)
inT64 memory_used() const
bool(* FileWriter)(const GenericVector< char > &data, const STRING &filename)
void set_page_number(int num)
void * ReCachePagesFunc(void *data)
void set_imagefilename(const STRING &name)
const PointerVector< DocumentData > & documents() const
bool Serialize(FILE *fp) const
const STRING & document_name() const