]> Creatis software - STMS.git/blobdiff - Lib/PrePostProcessing/itkSTMS_TemporalSetToImageSequence.txx
output 2D as png file
[STMS.git] / Lib / PrePostProcessing / itkSTMS_TemporalSetToImageSequence.txx
index c988bb7b821ce23edb88557b4ca76b01be6de67d..115918763c8368d28107ba013fb5d0bac3d73e15 100755 (executable)
@@ -67,8 +67,8 @@
 namespace itkSTMS
 {
 
-template < class ImageType, class ClassImageType >
-itkSTMS_TemporalSetToImageSequence < ImageType, ClassImageType >
+template < class ImageType, class ClassImageType, class OutputImageType>
+itkSTMS_TemporalSetToImageSequence < ImageType, ClassImageType, OutputImageType >
 ::itkSTMS_TemporalSetToImageSequence( IndexSampleSetType* cl, SpatialSampleSetType* sp, RangeSampleSetType* ra,
                                       itkSTMS::ParamsAnalysisOutputType* params, itkSTMS::ParserOutputType* desc )
 {
@@ -81,9 +81,9 @@ itkSTMS_TemporalSetToImageSequence < ImageType, ClassImageType >
 }
 
 
-template < class ImageType, class ClassImageType >
+template < class ImageType, class ClassImageType, class OutputImageType >
 void
-itkSTMS_TemporalSetToImageSequence< ImageType, ClassImageType >
+itkSTMS_TemporalSetToImageSequence< ImageType, ClassImageType, OutputImageType >
 ::GenerateImageSequence()
 {
     bool first = true;
@@ -114,9 +114,7 @@ itkSTMS_TemporalSetToImageSequence< ImageType, ClassImageType >
 
     std::string outputPath, classPath;
 
-    ClassImagePointer classImage
-            = ClassImageType::New();
-
+    ClassImagePointer classImage          = ClassImageType::New();
     classImage->SetRegions( classRegion );
     classImage->Allocate();
     classImage->FillBuffer( 15.0 );
@@ -128,10 +126,9 @@ itkSTMS_TemporalSetToImageSequence< ImageType, ClassImageType >
             "_Y-"+std::to_string((unsigned int)stmsParameters->spScales[1])+
             "_Z-"+std::to_string((unsigned int)stmsParameters->spScales[2])+
             "_R-"+std::to_string(stmsParameters->rScale)+
-            expDescription->outputImageExtension;
+            expDescription->outputClassExtension;
 
-    ClassWriterPointer classWriter
-            = ClassWriterType::New();
+    ClassWriterPointer classWriter         = ClassWriterType::New();
     classWriter->SetFileName( classPath );
 
     // Filetered image sequence and class image saving
@@ -154,10 +151,12 @@ itkSTMS_TemporalSetToImageSequence< ImageType, ClassImageType >
                 "_R-"+std::to_string(stmsParameters->rScale)+"_"+
                 buffer+expDescription->outputImageExtension;
 
-        ImagePointer outImage           = ImageType::New();
+
+
+        typename OutputImageType::Pointer outImage           = OutputImageType::New();
         outImage->SetRegions( region );
         outImage->Allocate();
-        outImage->FillBuffer( 15.0 );
+        outImage->FillBuffer( 0 );
 
         WriterPointer writer            = WriterType::New();
         writer->SetFileName( outputPath );
@@ -173,7 +172,7 @@ itkSTMS_TemporalSetToImageSequence< ImageType, ClassImageType >
                     classIndex[k] = outIndex[k];
             }
 
-            outImage->SetPixel( outIndex, rangeSet->at( classSet->at(j)-1 )[i-1]*stmsParameters->rScale );
+            outImage->SetPixel( outIndex, static_cast<typename OutputImageType::PixelType>(rangeSet->at( classSet->at(j)-1 )[i-1]*stmsParameters->rScale) );
 
             if( first )
                 classImage->SetPixel(classIndex, classSet->at(j));
@@ -192,9 +191,9 @@ itkSTMS_TemporalSetToImageSequence< ImageType, ClassImageType >
 }
 
 
-template < class ImageType, class ClassImageType>
+template < class ImageType, class ClassImageType, class OutputImageType>
 void
-itkSTMS_TemporalSetToImageSequence< ImageType, ClassImageType >
+itkSTMS_TemporalSetToImageSequence< ImageType, ClassImageType, OutputImageType>
 ::GenerateCSVFile(const std::string &delimiter)
 {
     std::string CSVFilename = expDescription->experimentPath+expDescription->outputFolder+