typename ImageType::PixelType BG=0);
template<class ImageType>
typename ImageType::Pointer
- CropImageAbove(const ImageType * image,
- int dim, double min, bool autoCrop = false,
- typename ImageType::PixelType BG=0);
+ CropImageRemoveGreaterThan(const ImageType * image,
+ int dim, double min, bool autoCrop = false,
+ typename ImageType::PixelType BG=0);
template<class ImageType>
typename ImageType::Pointer
- CropImageBelow(const ImageType * image,
- int dim, double max,bool autoCrop = false,
- typename ImageType::PixelType BG=0);
+ CropImageRemoveLowerThan(const ImageType * image,
+ int dim, double max,bool autoCrop = false,
+ typename ImageType::PixelType BG=0);
//--------------------------------------------------------------------
ComputeCentroids(const ImageType * image,
typename ImageType::PixelType BG,
std::vector<typename ImageType::PointType> & centroids);
+ template<class ImageType>
+ void
+ ComputeCentroids2(const ImageType * image,
+ typename ImageType::PixelType BG,
+ std::vector<typename ImageType::PointType> & centroids);
//--------------------------------------------------------------------
typedef std::map<int, PointType2D> MapPoint2DType;
typedef std::vector<PointType3D> VectorPoint3DType;
+ typedef std::vector<PointType2D> VectorPoint2DType;
+
public:
static void Convert2DTo3D(const PointType2D & p2D,
const ImageType * image,
const int slice,
PointType3D & p3D);
- static void Convert2DTo3DList(const MapPoint2DType & map,
+ static void Convert2DMapTo3DList(const MapPoint2DType & map,
const ImageType * image,
VectorPoint3DType & list);
+ static void Convert2DListTo3DList(const VectorPoint2DType & p,
+ int slice,
+ const ImageType * image,
+ VectorPoint3DType & list);
};
//--------------------------------------------------------------------
bool extendSupport);
//--------------------------------------------------------------------
+
+ //--------------------------------------------------------------------
+ template<class ImageType>
+ typename ImageType::Pointer
+ Opening(const ImageType * image, typename ImageType::SizeType radius,
+ typename ImageType::PixelType BG, typename ImageType::PixelType FG);
+ //--------------------------------------------------------------------
+
+
//--------------------------------------------------------------------
template<class ValueType, class VectorType>
void ConvertOption(std::string optionName, uint given,
IsOnTheSameLineSide(PointType C, PointType A, PointType B, PointType like);
//--------------------------------------------------------------------
+
+ //--------------------------------------------------------------------
+ template<class ImageType>
+ void
+ SliceBySliceBuildLineSegmentAccordingToExtremaPosition(const ImageType * input,
+ typename ImageType::PixelType BG,
+ int sliceDimension,
+ int extremaDirection,
+ bool extremaOppositeFlag,
+ int lineDirection,
+ double margin,
+ std::vector<typename ImageType::PointType> & A,
+ std::vector<typename ImageType::PointType> & B);
+ //--------------------------------------------------------------------
+
+
+ //--------------------------------------------------------------------
+ template<class ImageType>
+ typename ImageType::Pointer
+ SliceBySliceKeepMainCCL(const ImageType * input,
+ typename ImageType::PixelType BG,
+ typename ImageType::PixelType FG);
+ //--------------------------------------------------------------------
+
+
}
#include "clitkSegmentationUtils.txx"