/* # --------------------------------------------------------------------- # # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image # pour la Santé) # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton # Previous Authors : Laurent Guigues, Jean-Pierre Roux # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil # # This software is governed by the CeCILL-B license under French law and # abiding by the rules of distribution of free software. You can use, # modify and/ or redistribute the software under the terms of the CeCILL-B # license as circulated by CEA, CNRS and INRIA at the following URL # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html # or in the file LICENSE.txt. # # As a counterpart to the access to the source code and rights to copy, # modify and redistribute granted by the license, users are provided only # with a limited warranty and the software's author, the holder of the # economic rights, and the successive licensors have only limited # liability. # # The fact that you are presently reading this means that you have had # knowledge of the CeCILL-B license and that you accept its terms. # ------------------------------------------------------------------------ */ #ifdef HAVE_CONFIG_H #include #endif #include #include #include "brukerdataset.h" #include "brukerkspaceobject.h" #include "brukerimage.h" int main(int argc, char *argv[]) { BrukerDataSet acqp1, reco1; std::string file2Read1("/home/denis/TestDicom/kiwidicom.QZ1/3/acqp"); std::string file2Read2("/home/denis/TestDicom/kiwidicom.QZ1/3/pdata/1/reco"); //std::string file2Read("/home/denis/TestDicom/mcao31a.pc1-exam_fabien/6/acqp"); //std::string file2Read("/home/denis/TestDicom/mcao31a.pc1-exam_fabien/6/pdata/1/reco"); //std::string file2Read("/home/denis/TestDicom/mcao31a.pc1-exam_fabien/6/acqp"); acqp1.LoadFile(file2Read1); reco1.LoadFile(file2Read2); std::cout << "=============== acqp1 FillMap =================" << std::endl; acqp1.FillMap(); acqp1.PrintSelf(); std::cout << "=============== End acqp1 FillMap =================" << std::endl; std::cout << "=============== reco1 FillMap =================" << std::endl; reco1.FillMap(); reco1.PrintSelf(); std::cout << "=============== End reco1 FillMap =================" << std::endl; std::cout << "=============== BuildLoopStructure =================" << std::endl; // LoopStructure is used to control the way the loops can be unrolled (in ObjectsLineList) acqp1.SetLoopStructure(); std::vector TempVect = acqp1.GetLoopStructure() ; for(int i=0;i > TempMat=acqp1.GetBrukerObjectsLineList(); std::map Map=acqp1.GetBrukerHeaderMap(); //ObjectVaryingProperties is a method centralizing the access to "all" the varying properties of images like position, orientation, echo time, ..... //It needs the BrukerHeaderMap and the LoopStructure as input bool result=acqp1.ObjectVaryingProperties.init(Map,TempVect); int Reordered,i,j,k,l; std::vector > TempMat2; for(int i=0;iBrukerObjectsLineList[*][2] Reordered=acqp1.ObjectVaryingProperties.getAcquisitionOrder(TempMat[i][2]); std::cout<<" TE = "<=2]) std::cout<<" [R,P,S]xyz = ["< > BrukerImageList=acqp1.GetBrukerImageList(); std::vector > BrukerImageList2; for(int i=0;i ImageSet; for(int i=0;i