X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmFile.cxx;h=e2fbce1fd37771a0b3d34342de25ec19437c436d;hb=dafa5cd1aa41409c1abe4e3f176fd6e9151c11d3;hp=9f0952357734feed925b307e5beda76556a0bd66;hpb=7a6f4850521b56e6b907cb8c7938471898613fa4;p=gdcm.git diff --git a/src/gdcmFile.cxx b/src/gdcmFile.cxx index 9f095235..e2fbce1f 100644 --- a/src/gdcmFile.cxx +++ b/src/gdcmFile.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmFile.cxx,v $ Language: C++ - Date: $Date: 2005/07/23 01:27:57 $ - Version: $Revision: 1.258 $ + Date: $Date: 2005/07/24 00:24:46 $ + Version: $Revision: 1.261 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -1764,7 +1764,8 @@ File::File( std::string const &filename ) RLEInfo = new RLEFramesInfo; JPEGInfo = new JPEGFragmentsInfo; - Load( filename ); // gdcm::Document is first Loaded, then the 'File part' + SetFileName( filename ); + Load( ); // gdcm::Document is first Loaded, then the 'File part' } /** @@ -1877,9 +1878,10 @@ float File::TypeOrientation( ) } +// FIXME. Seriously who wrote that ! +// Haven't you ever heard of so called reference in c++ Res File::VerfCriterion(int typeCriterion, float criterionNew, Res res) { - float type = res.first; float criterion = res.second; if (criterionNew < criterion) { @@ -1898,8 +1900,17 @@ Res File::VerfCriterion(int typeCriterion, float criterionNew, Res res) return res; } -float File::CalculLikelyhood2Vec(vector3D refA, vector3D refB, - vector3D ori1, vector3D ori2) +inline double square_dist(vector3D const &v1, vector3D const & v2) +{ + double res; + res = (v1.x - v2.x)*(v1.x - v2.x) + + (v1.y - v2.y)*(v1.y - v2.y) + + (v1.z - v2.z)*(v1.z - v2.z); + return res; +} + +float File::CalculLikelyhood2Vec(vector3D const & refA, vector3D const &refB, + vector3D const & ori1, vector3D const &ori2) { // # ------------------------- Purpose : ----------------------------------- // # - This function determines the orientation similarity of two planes. @@ -1920,9 +1931,7 @@ float File::CalculLikelyhood2Vec(vector3D refA, vector3D refB, vector3D ori3 = ProductVectorial(ori1,ori2); vector3D refC = ProductVectorial(refA,refB); - float res = pow(refC.x-ori3.x, 2.) + - pow(refC.y-ori3.y, 2.) + - pow(refC.z-ori3.z, 2.); + double res = square_dist(refC, ori3); /* // ori3=self.ProductVectorial(ori1,ori2) @@ -1933,7 +1942,7 @@ float File::CalculLikelyhood2Vec(vector3D refA, vector3D refB, return sqrt(res); } -vector3D File::ProductVectorial(vector3D vec1, vector3D vec2) +vector3D File::ProductVectorial(vector3D const & vec1, vector3D const & vec2) { // # ------------------------- Purpose : -----------------------------------