Particle Identification and Tracking
image_series.h
Go to the documentation of this file.
1 //Copyright 2010 Thomas A Caswell
2 //tcaswell@uchicago.edu
3 //http://jfi.uchicago.edu/~tcaswell
4 //
5 //This program is free software; you can redistribute it and/or modify
6 //it under the terms of the GNU General Public License as published by
7 //the Free Software Foundation; either version 3 of the License, or (at
8 //your option) any later version.
9 //
10 //This program is distributed in the hope that it will be useful, but
11 //WITHOUT ANY WARRANTY; without even the implied warranty of
12 //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 //General Public License for more details.
14 //
15 //You should have received a copy of the GNU General Public License
16 //along with this program; if not, see <http://www.gnu.org/licenses>.
17 //
18 //Additional permission under GNU GPL version 3 section 7
19 //
20 //If you modify this Program, or any covered work, by linking or
21 //combining it with MATLAB (or a modified version of that library),
22 //containing parts covered by the terms of MATLAB User License, the
23 //licensors of this Program grant you additional permission to convey
24 //the resulting work.
25 //
26 //If you modify this Program, or any covered work, by linking or
27 //combining it with IPP (or a modified version of that library),
28 //containing parts covered by the terms of End User License Agreement
29 //for the Intel(R) Software Development Products, the licensors of
30 //this Program grant you additional permission to convey the resulting
31 //work.
32 //
33 //If you modify this Program, or any covered work, by linking or
34 //combining it with FreeImage (or a modified version of that library),
35 //containing parts covered by the terms of End User License Agreement
36 //for FreeImage Public License, the licensors of
37 //this Program grant you additional permission to convey the resulting
38 //work.
39 
40 #ifndef IMAGE_SERIES
41 #define IMAGE_SERIES
42 
43 #include "image_base.h"
44 #include "mm_md_parser.h"
45 
46 struct dirent;
47 
48 
49 namespace iden
50 {
51 
52 
54 {
55 public:
56  Image_series();
57  ~Image_series();
58  void select_plane(unsigned int plane);
59  const void * get_plane_pixels() const;
60  utilities::Md_store * get_plane_md(const MD_parser & parser) const;
62  WORD get_scan_step()const;
63  int get_frame_count() const;
64  bool init(const std::string & base_name);
65  PIX_TYPE get_pixel_type() const;
66 
67 private:
68  std::string basename_;
69  std::string dirname_;
70  unsigned int cur_plane_;
71 
73 
74  fipImage image_;
75 
76 
77  unsigned int padding_;
78 
79  unsigned int planecount_;
80 
81 
83 
84 
88  bool to_grey();
89 
90 
91 
92 };
93 std::string format_name(const std::string & dirname,
94  const std::string & basename,
95  int padding,
96  unsigned int plane);
97 
98 }
99 
100 
101 
102 
103 #endif