freConvertValueSet.txx

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   F.R.E.E - flexible registration evaluation engine
00004   Module:    $RCSfile: freConvertValueSet.txx,v $
00005 
00006   Date:      $Date: 2004/07/25 $
00007   Version:   $Revision: 1.0 $
00008 
00009   Copyright (c) 2007 Ralf o Floca (Department of Medical Informatics,
00010   Institute for Medical Biometry and Informatics, University of Heidelberg,
00011   Germany). All rights reserved.
00012   See FREECopyright.txt or http://www.mi.med.uni-hd.de/free/copyright.htm
00013   for details.
00014 
00015      This software is distributed WITHOUT ANY WARRANTY; without even 
00016      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00017      PURPOSE.  See the above copyright notices for more information.
00018 
00019 =========================================================================*/
00020 #ifndef __freConvertValueSet_txx
00021 #define __freConvertValueSet_txx
00022 
00023 #include "freConvertValueSet.h"
00024 
00025 namespace FREE
00026 {
00027 
00028 template <typename TFixedArray>
00029 XMLValueSet
00030 ConvertValueSet::
00031 FromITKArray(const TFixedArray& rArray)
00032 {
00033         XMLValueSet rSet;
00034         FromArrayStruct<TFixedArray>(rArray,rSet,rArray.Size());
00035 
00036         return rSet;
00037 };
00038 
00039 template <typename TFixedArray>
00040 void
00041 ConvertValueSet::
00042 FromITKArray(const TFixedArray& rArray, XMLValueSet& rSet)
00043 {
00044         FromArrayStruct<TFixedArray>(rArray,rSet,rArray.Size());
00045 };
00046 
00047 template <typename TIndex>
00048 XMLValueSet
00049 ConvertValueSet::
00050 FromITKIndex(const TIndex& rIndex)
00051 {
00052         XMLValueSet rSet;
00053         FromArrayStruct<TIndex>(rIndex,rSet,TIndex::GetIndexDimension());
00054 
00055         return rSet;
00056 };
00057 
00058 template <typename TIndex>
00059 void
00060 ConvertValueSet::
00061 FromITKIndex(const TIndex& rIndex, XMLValueSet& rSet)
00062 {
00063         FromArrayStruct<TIndex>(rIndex,rSet,TIndex::GetIndexDimension());
00064 };
00065 
00066 template <typename TSize>
00067 XMLValueSet
00068 ConvertValueSet::
00069 FromITKSize(const TSize& rSize)
00070 {
00071         XMLValueSet rSet;
00072         FromArrayStruct<TSize>(rSize,rSet,TSize::GetSizeDimension());
00073 
00074         return rSet;
00075 };
00076 
00077 template <typename TSize>
00078 void
00079 ConvertValueSet::
00080 FromITKSize(const TSize& rSize, XMLValueSet& rSet)
00081 {
00082         FromArrayStruct<TSize>(rSize,rSet,TSize::GetSizeDimension());
00083 };
00084 
00085 template <typename TFixedArray>
00086 TFixedArray
00087 ConvertValueSet::
00088 ToITKArray(const XMLValueSet& rSet)
00089 {
00090         TFixedArray newArray;
00091         
00092         unsigned iActSize = newArray.Size();
00093         if (iActSize>rSet.Size()) iActSize = rSet.Size();
00094  
00095         for (unsigned int iDim=0; iDim<iActSize; iDim++)
00096   {
00097                 double dValue;
00098                 rSet.GetValue(dValue,iDim);
00099                 newArray.SetElement(iDim,static_cast<TFixedArray::ValueType>(dValue));
00100   };
00101         return newArray;
00102 }
00103 
00104 template <typename TIndex>
00105 TIndex
00106 ConvertValueSet::
00107 ToITKIndex(const XMLValueSet& rSet)
00108 {
00109         TIndex newIndex;
00110         
00111         unsigned iActSize = TSize::GetIndexDimension();
00112         if (iActSize>rSet.Size()) iActSize = rSet.Size();
00113  
00114         for (unsigned int iDim=0; iDim<iActSize; iDim++)
00115   {
00116                 double dValue;
00117                 rSet.GetValue(dValue,iDim);
00118                 newIndex.SetElement(iDim,static_cast<TIndex::IndexValueType>(dValue));
00119   };
00120         return newIndex;
00121 }
00122 
00123 template <typename TSize>
00124 TSize
00125 ConvertValueSet::
00126 ToITKSize(const XMLValueSet& rSet)
00127 {
00128         TSize newSize;
00129         
00130         unsigned iActSize = TSize::GetSizeDimension();
00131         if (iActSize>rSet.Size()) iActSize = rSet.Size();
00132  
00133         for (unsigned int iDim=0; iDim<iActSize; iDim++)
00134   {
00135                 double dValue;
00136                 rSet.GetValue(dValue,iDim);
00137                 newSize.SetElement(iDim,static_cast<TSize::SizeValueType>(dValue));
00138   };
00139         return newSize;
00140 }
00141 
00142 template <typename TArray>
00143 void
00144 ConvertValueSet::
00145 FromArrayStruct(const TArray& rArray, XMLValueSet& rSet, const unsigned int& iSize)
00146 {
00147         rSet.Resize(iSize);
00148  
00149         for (unsigned int iDim=0; iDim<iSize; iDim++)
00150   {
00151                 rSet.SetValue(rArray.GetElement(iDim),iDim);
00152   };
00153 };
00154 
00155 } //end of namespace free
00156 
00157 #endif

Generated at Sat Oct 13 15:39:59 2007 for f.r.e.e. - Flexible Registration and Evaluation Engine by doxygen 1.5.3 written by Dimitri van Heesch, © 1997-2000