}
- //typedef itk::ImageMaskSpatialObject<itkGetStaticConstMacro(FixedImageDimension)> ImageMaskSpatialObjectType;
- //typename ImageMaskSpatialObjectType::ConstPointer mask = dynamic_cast<const ImageMaskSpatialObjectType*>(m_FixedImageMask.GetPointer());
+ typedef itk::ImageMaskSpatialObject<itkGetStaticConstMacro(FixedImageDimension)> ImageMaskSpatialObjectType;
+ typename ImageMaskSpatialObjectType::ConstPointer mask = NULL;
+ if (m_FixedImageMask.IsNotNull())
+ mask = dynamic_cast<const ImageMaskSpatialObjectType*>(m_FixedImageMask.GetPointer());
- //typedef typename ImageMaskSpatialObjectType::RegionType ImageMaskRegionType;
- //ImageMaskRegionType mask_region = mask->GetAxisAlignedBoundingBoxRegion();
+ typedef typename ImageMaskSpatialObjectType::RegionType ImageMaskRegionType;
+ ImageMaskRegionType mask_region;
+ if (mask.IsNotNull())
+ mask_region = mask->GetAxisAlignedBoundingBoxRegion();
// Common properties
if( m_FixedImageMask.IsNotNull() )
// Calculate the number
const unsigned int totalNumberOfPixels = m_FixedImageRegion.GetNumberOfPixels();
- //const unsigned int totalNumberOfPixels = mask_region.GetNumberOfPixels();
+ const unsigned int totalNumberOfMaskPixels = mask_region.GetNumberOfPixels();
const unsigned int numberOfDemandedPixels = static_cast< unsigned int >( (double) totalNumberOfPixels *m_ArgsInfo.samples_arg );
// --------------------------------------------------
//RandomIterator randIter( m_FixedImage, mask_region );
if (m_Verbose) std::cout << "Search region " << m_FixedImageRegion << std::endl;
- //if (m_Verbose) std::cout << "Mask search region " << mask_region << std::endl;
+ if (m_Verbose) std::cout << "Mask search region " << mask_region << std::endl;
// Randomly sample the image
short att = 1;
if (m_Verbose) std::cout<<"A fraction of "<<m_ArgsInfo.samples_arg<<" spatial samples was requested..."<<std::endl;
double fraction=(double)numberOfValidPixels/ (double) totalNumberOfPixels;
if (m_Verbose) std::cout<<"Found "<<numberOfValidPixels <<" valid pixels for a total of "<<totalNumberOfPixels<<" (a fraction of "<<fraction<<")..."<<std::endl;
+ if (m_Verbose) std::cout<<"number of mask pixels "<<totalNumberOfMaskPixels<<std::endl;
}