[Insight-users] 'itkDenseFrequencyContainer2.h': No such file or directory
Bill Lorensen
bill.lorensen at gmail.com
Mon Mar 19 12:59:05 EDT 2012
What version of ITK are you using?
On Mon, Mar 19, 2012 at 2:51 AM, Humayun Irshad
<humayun.irshad at gmail.com> wrote:
>
> When i compile this code (took from this link
> http://www.cmake.org/Wiki/ITK/Examples/Statistics/TextureFeatures)
> I also include ITKStatistics.lib or add ITKReview (../Code/Review/). I found
> this error message.
>
> 1>Compiling...
> 1>TextureFeatures.cxx
> 1>..\TextureFeatures.cxx(4) : fatal error C1083: Cannot open include file:
> 'itkDenseFrequencyContainer2.h': No such file or directory
> 1>Build log was saved at
> "file://h:\ITK\WS\GLCM\build\TextureFeatures.dir\Debug\BuildLog.htm"
> 1>TextureFeatures - 1 error(s), 0 warning(s)
> 2>------ Skipped Build: Project: ALL_BUILD, Configuration: Debug Win32
> ------
> 2>Project not selected to build for this solution configuration
> ========== Build: 0 succeeded, 1 failed, 1 up-to-date, 1 skipped ==========
>
> Can i anybody help me regarding this error.
> #include "itkImage.h"
> #include "itkImageFileReader.h"
> #include "itkImageFileWriter.h"
> #include <itkDenseFrequencyContainer2.h>
> #include "itkHistogramToTextureFeaturesFilter.h"
> #include "itkScalarImageToCooccurrenceMatrixFilter.h"
> #include "itkVectorContainer.h"
> #include "itkAddImageFilter.h"
> #include "itkMultiplyImageFilter.h"
> #include "itkRegionOfInterestImageFilter.h"
>
>
> //definitions of used types
> typedef itk::Image<float, 3> InternalImageType;
> typedef itk::Image<unsigned char, 3> VisualizingImageType;
> typedef itk::Neighborhood<float, 3> NeighborhoodType;
> typedef
> itk::Statistics::ScalarImageToCooccurrenceMatrixFilter<InternalImageType>
> Image2CoOccuranceType;
> typedef Image2CoOccuranceType::HistogramType HistogramType;
> typedef itk::Statistics::HistogramToTextureFeaturesFilter<HistogramType>
> Hist2FeaturesType;
> typedef InternalImageType::OffsetType OffsetType;
> typedef itk::AddImageFilter <InternalImageType> AddImageFilterType;
> typedef itk::MultiplyImageFilter<InternalImageType> MultiplyImageFilterType;
>
> //calculate features for one offset
> void calcTextureFeatureImage (OffsetType offset,
> InternalImageType::Pointer inputImage, InternalImageType::Pointer
> outInertia,
> InternalImageType::Pointer outCorrelation, InternalImageType::Pointer
> outEnergy)
> {
> //allocate output images
> outInertia->CopyInformation(inputImage);
> outInertia->SetRegions(inputImage->GetLargestPossibleRegion());
> outInertia->Allocate();
> outInertia->FillBuffer(0);
> outCorrelation->CopyInformation(inputImage);
> outCorrelation->SetRegions(inputImage->GetLargestPossibleRegion());
> outCorrelation->Allocate();
> outCorrelation->FillBuffer(0);
> outEnergy->CopyInformation(inputImage);
> outEnergy->SetRegions(inputImage->GetLargestPossibleRegion());
> outEnergy->Allocate();
> outEnergy->FillBuffer(0);
>
> Image2CoOccuranceType::Pointer
> glcmGenerator=Image2CoOccuranceType::New();
> glcmGenerator->SetOffset(offset);
> glcmGenerator->SetNumberOfBinsPerAxis(16); //reasonable number of bins
> glcmGenerator->SetPixelValueMinMax(0, 255); //for input UCHAR pixel type
> Hist2FeaturesType::Pointer featureCalc=Hist2FeaturesType::New();
>
> typedef
> itk::RegionOfInterestImageFilter<InternalImageType,InternalImageType>
> roiType;
> roiType::Pointer roi=roiType::New();
> roi->SetInput(inputImage);
>
> InternalImageType::RegionType window;
> InternalImageType::RegionType::SizeType size;
> size.Fill(3); //window size=3x3x3
> window.SetSize(size);
> InternalImageType::IndexType pi; //pixel index
>
> //slide window over the entire image
> for (unsigned x=1;
> x<inputImage->GetLargestPossibleRegion().GetSize(0)-1; x++)
> {
> pi.SetElement(0,x);
> window.SetIndex(0,x-1);
> for (unsigned y=1;
> y<inputImage->GetLargestPossibleRegion().GetSize(1)-1; y++)
> {
> pi.SetElement(1,y);
> window.SetIndex(1,y-1);
> for (unsigned z=1;
> z<inputImage->GetLargestPossibleRegion().GetSize(2)-1; z++)
> {
> pi.SetElement(2,z);
> window.SetIndex(2,z-1);
> roi->SetRegionOfInterest(window);
> roi->Update();
> glcmGenerator->SetInput(roi->GetOutput());
> glcmGenerator->Update();
> featureCalc->SetInput( glcmGenerator->GetOutput() );
> featureCalc->Update();
>
> outInertia->SetPixel(pi,
> featureCalc->GetFeature(Hist2FeaturesType::Inertia));
> outCorrelation->SetPixel(pi,
> featureCalc->GetFeature(Hist2FeaturesType::Correlation));
> outEnergy->SetPixel(pi,
> featureCalc->GetFeature(Hist2FeaturesType::Energy));
> }
> }
> std::cout<<'.';
> }
> }
>
> int main(int, char *[])
> {
> typedef itk::ImageFileReader<InternalImageType> ReaderType;
> ReaderType::Pointer reader=ReaderType::New();
> reader->SetFileName("t64.mha");
> //http://www.cg.informatik.uni-siegen.de/data/Downloads/t64.mha
> reader->Update();
> InternalImageType::Pointer image=reader->GetOutput();
>
> NeighborhoodType neighborhood;
> neighborhood.SetRadius(1);
> unsigned int centerIndex = neighborhood.GetCenterNeighborhoodIndex();
> OffsetType offset;
>
> typedef itk::ImageFileWriter<InternalImageType> WriterType;
> WriterType::Pointer writer=WriterType::New();
> char buf[64];
>
> for ( unsigned int d = 0; d < centerIndex; d++ )
> {
> offset = neighborhood.GetOffset(d);
> InternalImageType::Pointer inertia=InternalImageType::New();
> InternalImageType::Pointer correlation=InternalImageType::New();
> InternalImageType::Pointer energy=InternalImageType::New();
> calcTextureFeatureImage(offset, image, inertia, correlation,
> energy);
>
> writer->SetInput(inertia);
> std::stringstream fileNameWithExt;
> fileNameWithExt << "Inertia" << d << ".mha";
> std::string fileName(fileNameWithExt.str());
> writer->SetFileName(fileName.c_str());
> writer->Update();
> writer->SetInput(correlation);
> std::stringstream fileNameWithExt2;
> fileNameWithExt2 << "Correlation" << d << ".mha";
> std::string fileName2(fileNameWithExt2.str());
> writer->SetFileName(fileName2.c_str());
> writer->SetFileName(buf);
> writer->Update();
> writer->SetInput(energy);
> std::stringstream fileNameWithExt3;
> fileNameWithExt3 << "Energy" << d << ".mha";
> std::string fileName3(fileNameWithExt3.str());
> writer->SetFileName(fileName3.c_str());
> writer->SetFileName(buf);
> writer->Update();
> std::cout<<'\n';
> }
>
> return EXIT_SUCCESS;
> }
> --
> View this message in context: http://old.nabble.com/%27itkDenseFrequencyContainer2.h%27%3A-No-such-file-or-directory-tp33530148p33530148.html
> Sent from the ITK - Users mailing list archive at Nabble.com.
>
> _____________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://www.kitware.com/products/protraining.php
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-users
--
Unpaid intern in BillsBasement at noware dot com
More information about the Insight-users
mailing list