Select multiple frames from a single fits file
Mostra commenti meno recenti
Hi,
I have a csv file and a fits file, I need to select multiple frames from the fits file based on the non-zero indices of a csv file. In the attached csv file, I need to select the 4th and 7th frame from the fits file, as it contains the non-zero values.Can someone help?
TIA
Risposte (1)
Walter Roberson
il 17 Apr 2019
vals = csvread('Book4.csv');
frame_numbers = find(vals ~=0);
num_frame = length(frame_numbers);
frame_data = cell(num_frame,1);
for K = 1 : num_frame
frame_data{K} = fitsread('AppropriateFilenameGoesHere.fits', 'image', frame_numbers(K));
end
5 Commenti
Kiruthiga Sekar
il 17 Apr 2019
Walter Roberson
il 17 Apr 2019
You do not have multiple frames in your fits file. You have a single frame that is multidimensional.
csv_filename - 'Book4.csv';
fits_filename = 'AppropriateFilenameGoesHere.fits';
vals = csvread(csv_filename);
frame_numbers = find(vals ~=0);
num_frame = length(frame_numbers);
finfo = fitsinfo(fits_filename);
imdims = finfo.Image.Size;
frame_data = zeros(imdims(1), imdims(2), num_frame);
for K = 1 : num_frame
frame_data(:,:,K) = fitsread(imdims, 'image', 'pixelregion', {[1 imdims(1)], [1 imdims(2)], frame_numbers(K)});
end
Kiruthiga Sekar
il 17 Apr 2019
Walter Roberson
il 17 Apr 2019
Please show the content of the finfo variable .
Kiruthiga Sekar
il 17 Apr 2019
Categorie
Scopri di più su File Operations in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!