Azzera filtri
Azzera filtri

save each struct to vector-like format

3 visualizzazioni (ultimi 30 giorni)
dayeon
dayeon il 3 Nov 2023
Commentato: dayeon il 17 Gen 2024
Hi, i want to append each structs to the vector-like format.
And that struct will be a 'imregtform' function's output, 'tform'.
tform = {};
for i= X_dev
fl_c = fl(i);
fu_c = fu(i);
tform= imregtform(fl_c,fu_c,'rigid',optimizer,metric);
% I want to save that all tform during the for loop...
tform_list{end+1}= tform;
% is this right? when i do this, the error is occured at
% reference part of code which load this
end
save('tform_result.mat', 'tform_list');
Like the above code, during the for loop, new struct will made, and i want to save that new struct to vector-like format
(i don't know well about the matlab, so i don't know which format will appropriate to saving the struct)
i.e the final vector-like variable's each elemet will be a struct result
(p.s i want to save that final vector-like variable to .mat file, and load that file at another code, then take out each struct sequentialy. In this case,
is there a possibility that the value or shape of the struct may be damaged due to saving and loading? )
how can i do this? is there any good idea for this? and thank you for all responses.
  1 Commento
Matt J
Matt J il 3 Nov 2023
It's unclear how you would be storing a series of images fl in a way that could be indexed fl(i). Perhaps you have fl as a cell array?

Accedi per commentare.

Risposta accettata

Matt J
Matt J il 3 Nov 2023
Modificato: Matt J il 3 Nov 2023
I think you have a misunderstanding about what a struct is. None of the variables in your code are structs. However, the following will give you a vector of tforms.
clear tform_list
tform_list(max(X_dev))=rigidtform2d(); %pre-allocate
for i= X_dev
fl_c = fl(i); %Should probably be fl{i}
fu_c = fu(i); %Should probably be fu{i}
tform_list(i)= imregtform(fl_c,fu_c,'rigid',optimizer,metric);
end
save('tform_result.mat', 'tform_list');
  3 Commenti
Matt J
Matt J il 4 Nov 2023
Modificato: Matt J il 4 Nov 2023
It doesn't change my answer, but you should read about cell arrays. Since you saved your results as a cell array, they will be a cell array when you load them back in, and need to be indexed the same way, with {}.
dayeon
dayeon il 17 Gen 2024
thanks a lot!! :))

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Prodotti


Release

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by