Select multiple frames from a single fits file
Afficher commentaires plus anciens
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
Réponses (1)
Walter Roberson
le 17 Avr 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 commentaires
Kiruthiga Sekar
le 17 Avr 2019
Walter Roberson
le 17 Avr 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
le 17 Avr 2019
Walter Roberson
le 17 Avr 2019
Please show the content of the finfo variable .
Kiruthiga Sekar
le 17 Avr 2019
Catégories
En savoir plus sur File Operations dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!