// ------------------------------------------------------------------------ void FlipImage(const LabelType::Pointer &input, LabelType::Pointer &output) { if(!output) output = LabelType::New(); ImageType::DirectionType outputDirection = input->GetDirection(); typedef itk::PermuteAxesImageFilter<LabelType> FlipperType; FlipperType::PermuteOrderArrayType axes; axes[0] = 1; axes[1] = 0; axes[2] = 2; FlipperType::Pointer flipper = FlipperType::New(); flipper->SetInput(input); flipper->SetOrder(axes); flipper->Update(); output = flipper->GetOutput(); output->SetDirection(outputDirection); }