How to open Tonatiuh output .DAT files in MATLAB?
7 次查看(过去 30 天)
显示 更早的评论
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 个评论
Image Analyst
2024-1-27
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.
采纳的回答
Walter Roberson
2024-1-27
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 个评论
更多回答(1 个)
Benjamin Thompson
2024-1-27
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
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Import and Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!