39 rate = 1.; likelihood = 0.;
core =
false;
40 ellipticity = 0.; polarisation = 0.;
48 rate = 1.; likelihood = 0.;
core =
false;
49 ellipticity = 0.; polarisation = 0.;
66 for(
size_t i=1;
i<
n;
i++) data.push_back(pix);
73 this->time = value.
time;
83 this->data = value.
data;
85 this->tdAmp = value.
tdAmp;
94 size_t n = this->neighbors.size();
95 size_t m = this->data.size();
96 size_t k = this->tdAmp.size();
99 k = (k==
m) ? this->tdAmp[0].
size() : 0;
108 db[2] = (double)this->clusterID;
111 db[5] = this->
core ? 1. : 0.;
113 db[7] = this->likelihood;
116 db[10]= this->ellipticity;
117 db[11]= this->polarisation;
121 if(fwrite(db, 14*
sizeof(
double), 1, (FILE*)fp)!=1)
return false;
124 for(i=0; i<I; i++) wb.
data[i] = n ? neighbors[i] : 0.;
128 wb.
data[I++] = this->data[
i].noiserms;
129 wb.
data[I++] = this->data[
i].wave;
130 wb.
data[I++] = this->data[
i].w_90;
131 wb.
data[I++] = this->data[
i].asnr;
132 wb.
data[I++] = this->data[
i].a_90;
133 wb.
data[I++] = (double)this->data[i].
rank;
134 wb.
data[I++] = (double)this->data[i].
index;
140 wb.
data[I++] = (
double)this->tdAmp[
i].data[
j];
142 if(fwrite(wb.
data, I*
sizeof(
double), 1, (FILE*)fp)!=1)
return false;
157 if(fread(db, 14*
sizeof(
double), 1, (FILE*)fp)!=1)
return false;
159 this->clusterID = size_t(db[2]+0.1);
160 this->time = size_t(db[3]+0.1);
162 this->
core = db[5]>0. ? true :
false;
163 this->
rate = (float)db[6];
164 this->likelihood = (float)db[7];
165 this->
theta = (float)db[8];
166 this->
phi = (float)db[9];
167 this->ellipticity = (float)db[10];
168 this->polarisation = (float)db[11];
169 this->
layers = size_t(db[12]+0.1);
171 size_t m = size_t(db[0]+0.1);
172 size_t I = size_t(db[1]+0.1);
173 size_t k = size_t(db[13]+0.1);
174 size_t n = I + m*(7+
k);
178 if(fread(wb.data, n*
sizeof(
double), 1, (FILE*)fp)!=1)
return false;
182 j = wb.data[
i]<0. ?
int(wb.data[i]-0.1) :
int(wb.data[i]+0.1);
183 if(j) this->neighbors.push_back(j);
189 pix.
wave = wb.data[I++];
190 pix.
w_90 = wb.data[I++];
191 pix.
asnr = wb.data[I++];
192 pix.
a_90 = wb.data[I++];
193 pix.
rank = float(wb.data[I++]);
195 this->data.push_back(pix);
200 for(j=0; j<(
int)k; j++) {
201 tda.
data[
j] = float(wb.data[I++]);
203 if(k) this->tdAmp.push_back(tda);
std::vector< wavearray< float > > tdAmp
std::vector< int > neighbors
std::vector< pixdata > data
netpixel & operator=(const netpixel &)