Program: bbtk
Module: $RCSfile: bbitkImageProperties.cxx,v $
Language: C++
- Date: $Date: 2009/12/18 14:00:05 $
- Version: $Revision: 1.10 $
+ Date: $Date: 2011/03/04 08:33:59 $
+ Version: $Revision: 1.15 $
=========================================================================*/
/* ---------------------------------------------------------------------
#include "bbitkImageProperties.h"
#include "bbitkPackage.h"
-
-
+#include "itkMinimumMaximumImageFilter.h"
namespace bbitk
{
void ImageProperties::bbUserSetDefaultValues()
{
}
-
+
//-----------------------------------------------------------------
void ImageProperties::bbUserInitializeProcessing()
{
}
-
+
//-----------------------------------------------------------------
void ImageProperties::bbUserFinalizeProcessing()
{
}
-
void ImageProperties::DoIt()
{
BBTK_TEMPLATE_ITK_IMAGE_SWITCH(bbGetInputIn().type(),DoIt);
}
-
-
/**
Template Processing
*/
<<bbtk::TypeName<itkImageType>()
<<">()"<<std::endl);
-
itkImageType* im = bbGetInputIn().get<itkImageType*>();
unsigned int dim = im->GetImageDimension();
vsz.push_back(sz[i]);
// brute hack to avoid failure of most black boxes that expects 3D images. // JPR
- // if (dim<3)
- // vsz.push_back(1);
-
+ if (dim==2)
+ vsz.push_back(1);
bbSetOutputSize(vsz);
typename itkImageType::SpacingType sp = im->GetSpacing();
vsp.push_back(sp[i]);
// brute hack to avoid failure of most black boxes that expects 3D images. // JPR
- // if (dim<3)
- // vsp.push_back(1);
-
+ if (dim==2)
+ vsp.push_back(1.0);
+
bbSetOutputSpacing(vsp);
+
+ // Min Max Value // EED
+ std::vector<float> vminmax;
+ typedef itk::MinimumMaximumImageFilter< itkImageType > MinMaxFilterType;
+ typename MinMaxFilterType::Pointer minMaxCalculator = MinMaxFilterType::New();
+ minMaxCalculator->SetInput(im);
+ minMaxCalculator->Update();
+ vminmax.push_back( (float) (minMaxCalculator->GetMinimum()) );
+ vminmax.push_back( (float) (minMaxCalculator->GetMaximum()) );
+ bbSetOutputMinMax(vminmax);
+
bbtkDebugDecTab("Core",9);
}
-
-
-
}
// eo namespace bbtk