- if(Dimension==2) UpdateWithDim<2>(PixelType);
- else if(Dimension==3) UpdateWithDim<3>(PixelType);
- // else if (Dimension==4)UpdateWithDim<4>(PixelType);
- else
- {
- std::cout<<"Error, Only for 2 or 3 Dimensions!!!"<<std::endl ;
- return;
+ if (Dimension==2) {
+ switch (Components) {
+ case 1:
+ UpdateWithDim<2,1>(PixelType);
+ break;
+ case 2:
+ UpdateWithDim<2,2>(PixelType);
+ break;
+ case 3:
+ UpdateWithDim<2,3>(PixelType);
+ break;
+ default:
+ std::cout << "Unsupported number of channels" << std::endl;
+ break;
+ }
+ }
+ else if (Dimension==3) {
+ switch (Components) {
+ case 1:
+ UpdateWithDim<3,1>(PixelType);
+ break;
+ case 2:
+ UpdateWithDim<3,2>(PixelType);
+ break;
+ case 3:
+ UpdateWithDim<3,3>(PixelType);
+ break;
+ default:
+ std::cout << "Unsupported number of channels" << std::endl;
+ break;
+ }
+ }
+ else if (Dimension==4) {
+ switch (Components) {
+ case 1:
+ UpdateWithDim<4,1>(PixelType);
+ break;
+ case 2:
+ UpdateWithDim<4,2>(PixelType);
+ break;
+ case 3:
+ UpdateWithDim<4,3>(PixelType);
+ break;
+ default:
+ std::cout << "Unsupported number of channels" << std::endl;
+ break;