00001 #include <Segmentation.h> 00002 #include <SegmentationModule/RegularizationModule.h> 00003 #include <SegmentationModule/GaussianRegionModule.h> 00004 00007 int main(int argc, char* argv[]) 00008 { 00009 using namespace Images; 00010 using namespace levelset; 00011 using namespace segmentation; 00012 00013 BaseImage<3, unsigned> image; 00014 std::ifstream f("image/brain.inr"); 00015 f >> image; //format("inrimage") >> image; 00016 #if 0 00017 FastMarchingInitializer<3,float> init; // Fast Marching Initializer 00018 LevelSet<3,float> phi(image.shape(), (double) 2.0); // Level Set of band thickness = 2 00019 Segmentation<3,float> segm(&phi, &init, &image); // Segmentation 00020 00021 // Initalization of the level set 00022 phi.init_border(60); 00023 00024 // initialization of the modules 00025 RegularizationModule<3,float> regul(1.f); // parameters : weight 00026 GaussianRegionModule<3,float,float> gauss(&image, 1.f); // parameters : image, weight 00027 00028 gauss.use_variance(false); // => false = Chan-Vese region segmentation 00029 gauss.set_weight(0.01f); 00030 gauss.set_data_term(image); 00031 00032 segm.add_module(regul); 00033 segm.add_module(gauss); 00034 00035 // launch the segmentation 00036 segm.segment(1000, "gaussian_"); 00037 00038 std::cout << "OK" << std::endl; 00039 00040 #endif 00041 return 0; 00042 }