plastimatch
Loading...
Searching...
No Matches
sift.h
Go to the documentation of this file.
1/* -----------------------------------------------------------------------
2 See COPYRIGHT.TXT and LICENSE.TXT for copyright and license information
3 ----------------------------------------------------------------------- */
4#ifndef _sift_h_
5#define _sift_h_
6
7#include "plmutil_config.h"
8#include <string>
9#include <itkScaleInvariantFeatureImageFilter.h>
10#include "plm_macros.h"
11#include "itk_image_type.h"
12
13class Sift_private;
14class Plm_image;
15
20public:
21 Sift ();
22 ~Sift ();
23public:
24 Sift_private *d_ptr;
25public:
26
29
31 void set_image (const char* image_fn);
34 void set_image (const std::string& image_fn);
36 void set_image (Plm_image* image);
38 void set_image (const FloatImageType::Pointer image);
39
41 void set_contrast_threshold (float contrast_threshold);
43 void set_curvature_threshold (float curvature_threshold);
45
48
49 void run ();
52 static void match_features (Sift& sift1, Sift& sift2,
53 const char* filename1, const char* filename2,
54 float match_ratio);
56
59
62 itk::ScaleInvariantFeatureImageFilter<FloatImageType,3>::PointSetTypePointer
65 void save_pointset (const char* filename);
67};
68
69#endif
The Plm_image class represents a three-dimensional volume. The volume is an abstraction that can co...
Definition plm_image.h:27
void save_pointset(const char *filename)
Save the sift-detected points to a fcsv file.
Definition sift.cxx:144
void set_contrast_threshold(float contrast_threshold)
Set the contrast threshold.
Definition sift.cxx:81
void set_image(const FloatImageType::Pointer image)
Set the input image as an ITK image.
static void match_features(Sift &sift1, Sift &sift2, const char *filename1, const char *filename2, float match_ratio)
Do feature matching, and write output to file. This should be a separate class.
Definition sift.cxx:150
itk::ScaleInvariantFeatureImageFilter< FloatImageType, 3 >::PointSetTypePointer get_keypoints()
Return the detected keypoints. Unfortunately, the SIFT keypoints are not (yet) compatible with ordina...
Definition sift.cxx:138
void set_curvature_threshold(float curvature_threshold)
Set the curvature threshold.
Definition sift.cxx:87
void set_image(const char *image_fn)
Set the input image. The image will be loaded from the specified filename.
Definition sift.cxx:69
Sift()
Definition sift.cxx:60
void set_image(Plm_image *image)
Set the input image as a Plm image.
Sift_private * d_ptr
Definition sift.h:24
void run()
Compute SIFT feature locations in the input image.
Definition sift.cxx:100
#define PLMUTIL_API
Definition plmutil_config.h:26