The data should be binary, indeed with matlab I'm not reading it as a text and it works fine. Another hint, a friend of mine wrote a c++ code that outputs the correct numbers and it works:
// Read the pink photon data
arg_file.read(num_photons_bin, 1);
pink_photons = (unsigned int) *num_photons_bin;
// Increment the counter based on the bytes read
status_counter += 1;
// Read pink photon data
for (int photon = 0; photon < pink_photons; photon++) {
// Read the binary data into the variable
arg_file.read((char *)&pink_x_pos, sizeof(double));
arg_file.read((char *)&pink_y_pos, sizeof(double));
arg_file.read((char *)&pink_z_pos, sizeof(double));
arg_file.read((char *)&pink_num_scatters, sizeof(int))
+;
arg_file.read((char *)&pink_col_scatters, sizeof(int))
+;
arg_file.read((char *)&pink_energy_val, sizeof(double)
+);
}
So to my understanding this is a bin file. Regarding the hexdump, unfortunately the file has a 32768bytes header so I don't know how to skip them for the hexdump (what do I have to put instead of "head"?).
Thank you very much for your attention.
Andri
|