18 #ifndef PIC_UTIL_RAW_HPP 19 #define PIC_UTIL_RAW_HPP 25 #include "../base.hpp" 26 #include "../util/array.hpp" 27 #include "../util/file_lister.hpp" 28 #include "../util/string.hpp" 87 file.open(nameFile.c_str(), std::ios::in | std::ios::binary);
94 file.seekg(0, std::ios::end);
95 std::ios::streampos length = file.tellg();
96 file.seekg(0, std::ios::beg);
99 nData = length /
sizeof(T);
104 file.read((
char *)this->
data, this->nData *
sizeof(T) /
sizeof(
char));
119 file.open(nameFile.c_str(), std::ios::binary);
122 file.write((
char *)this->
data, this->
nData *
sizeof(T) /
sizeof(
char));
138 if(stack.size() <= 0) {
142 int nData = stack[0].nData;
147 int stackSize = stack.size();
149 for(
int i = 0; i <
nData; i++) {
150 unsigned long tmpData = 0;
152 for(
int j = 0; j < stackSize; j++) {
153 tmpData += stack[j].data[i];
156 dataOut->
data[i] = tmpData / stackSize;
159 dataOut->
valid =
true;
164 unsigned long *dataAcc,
bool bStart)
167 if(dataAcc == NULL) {
168 dataAcc =
new unsigned long[img->
nData];
172 for(
int i = 0; i < img->
nData; i++) {
173 dataAcc[i] = img->
data[i];
176 for(
int i = 0; i < img->
nData; i++) {
177 dataAcc[i] += img->
data[i];
194 std::string nameFilter,
203 unsigned long *dataAcc = NULL;
205 for(
unsigned int i = 0; i < vec.size(); i++) {
206 imgRAW.
Read(vec[i], width * height);
210 RAW<T> *imgOut = imgRAW.copy();
212 for(
int i = 0; i < imgOut->
nData; i++) {
213 imgOut->
data[i] = dataAcc[i] / vec.size();
229 std::string nameFilter,
235 height))->
Write(nameOut);
std::vector< std::string > StringVec
StringVec is an std::vector of std::string.
Definition: string.hpp:49
RAW()
RAW.
Definition: raw.hpp:45
RAW(int n)
RAW.
Definition: raw.hpp:54
static RAW< T > * getMeanRAWStack(std::vector< RAW< T > > &stack)
getMeanRAWStack
Definition: raw.hpp:136
static void getMeanRAWFromFile(std::string nameDir, std::string nameFilter, std::string nameOut, int width, int height)
getMeanRAWFromFile
Definition: raw.hpp:227
RAW(std::string nameFile, int nData=-1)
RAW.
Definition: raw.hpp:64
void release()
release
Definition: saturation.hpp:107
~RAW()
Definition: raw.hpp:73
bool valid
Definition: raw.hpp:38
static unsigned long * getMeanRAWIterative(RAW< T > *img, unsigned long *dataAcc, bool bStart)
Definition: raw.hpp:163
bool Read(std::string nameFile, int nData)
Read.
Definition: raw.hpp:84
static StringVec * getList(std::string nameDir, std::string nameFilter, StringVec *sVecOut)
Definition: file_lister.hpp:61
The Array class.
Definition: array.hpp:30
Definition: bilateral_separation.hpp:25
RAW_type
Definition: raw.hpp:32
static RAW< T > * getMeanRAWFromFile(std::string nameDir, std::string nameFilter, int width, int height)
getMeanRAWFromFile
Definition: raw.hpp:192
T * data
Definition: saturation.hpp:37
void allocate(int n)
allocate
Definition: saturation.hpp:89
bool Write(std::string nameFile)
Write.
Definition: raw.hpp:116
int nData
Definition: saturation.hpp:38