X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=tools%2FclitkConeBeamProjectImageGenericFilter.cxx;h=d659b969f8e2f48a75eb30ed8724eb1dc72d1ec2;hb=573d80d0f7a17607d2ee883c21c940c0ba020282;hp=248693876b408450c29fcf411b8b7fb6728b650d;hpb=2f762b6fcc5bdb62d13552fa61cc6f5246230e8c;p=clitk.git diff --git a/tools/clitkConeBeamProjectImageGenericFilter.cxx b/tools/clitkConeBeamProjectImageGenericFilter.cxx index 2486938..d659b96 100755 --- a/tools/clitkConeBeamProjectImageGenericFilter.cxx +++ b/tools/clitkConeBeamProjectImageGenericFilter.cxx @@ -3,7 +3,7 @@ Authors belong to: - University of LYON http://www.universite-lyon.fr/ - - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr + - Léon Bérard cancer center http://www.centreleonberard.fr - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr This software is distributed WITHOUT ANY WARRANTY; without even @@ -14,7 +14,7 @@ - BSD See included LICENSE.txt file - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html -======================================================================-====*/ +===========================================================================**/ #ifndef CLITKCONEBEAMPROJECTIMAGEGENERICFILTER_CXX #define CLITKCONEBEAMPROJECTIMAGEGENERICFILTER_CXX @@ -131,16 +131,18 @@ namespace clitk } filter->SetEdgePaddingValue(static_cast(m_ArgsInfo.pad_arg)); - // Panel position (hard coded values for the elekta synergy) - // Two be more precise, one should read the specific values for each angle in Frame.dbf DD(m_ArgsInfo.panel_position_arg); - if (strcmp(m_ArgsInfo.panel_position_arg,"small") ==0) - filter->SetPanelShift(0.); - else if (strcmp(m_ArgsInfo.panel_position_arg,"medium") ==0) - filter->SetPanelShift(114.84); - else if (strcmp(m_ArgsInfo.panel_position_arg,"large") ==0) - filter->SetPanelShift(190.); - else assert(false); //Unsupported panel position + if (m_ArgsInfo.panel_shift_given) // one should read the specific values for each angle in Frame.dbf + filter->SetPanelShift(m_ArgsInfo.panel_shift_arg); + else { // approximate panel positions hard coded values for the elekta synergy + if (strcmp(m_ArgsInfo.panel_position_arg,"small") ==0) + filter->SetPanelShift(0.); + else if (strcmp(m_ArgsInfo.panel_position_arg,"medium") ==0) + filter->SetPanelShift(114.84); + else if (strcmp(m_ArgsInfo.panel_position_arg,"large") ==0) + filter->SetPanelShift(190.); + else assert(false); //Unsupported panel position + } // Output image info if (m_ArgsInfo.like_given) {