How to open Tonatiuh output .DAT files in MATLAB?
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
venu
am 27 Jan. 2024
Bearbeitet: venu
am 1 Feb. 2024
Hi, I have output files from Tonatiuh ray-tracing software but I am unable to open this file in any other software. I was wondering if there is any way to open it in MATLAB so that I can perform the analysis that I need.
Any help would be appreciate in this regard. This is a binary output file with a .DAT extension. I am unable to uplaod the file here so I am attaching a One-Drive link if anybody wants to have a look.
2 Kommentare
Image Analyst
am 27 Jan. 2024
You have to know the format of the file. Do you know that? Otherwise it'll just be a big long string of bytes with no meaning behind them.
Akzeptierte Antwort
Walter Roberson
am 27 Jan. 2024
The binary format used to store the values is Real64 with big-endian byte ordering. The
first value stored in the file is the power per photon in watts (W). This real value
is then followed by seven-tuples of real values, one per photon . Every seven-tuple
holds the following values in the specific order given: * PhotonID * x-coordinate *
y-coordinate * z-coordinate * surface side ( 0 if is back side , 1 if is front side ) *
Previous PhotonID (0 if the photon is the first of a given ray) * Next PhotonID (0 is
the photon is the last of a given ray)
So you would fopen() the file with 'ieee-be' and you would fread() '*double* with size [7 inf] . The result would store tuples running down columns.
16 Kommentare
Weitere Antworten (1)
Benjamin Thompson
am 27 Jan. 2024
fid = fopen('yourfilename.dat', 'r');
A = fread(fid, 'uint8=>uint8');
fclose(fid);
Then the data is in A as bytes. If you know more about the file format you can change the arguments to fread in order to make the result in A easier to use.
doc fread
Siehe auch
Kategorien
Mehr zu Data Import and Analysis finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!