[Insight-users] ExtractImageFilter - newbie needs help!

Luis Ibanez luis.ibanez at kitware.com
Mon Jun 28 23:40:56 EDT 2004


Hi Ramzy,


Welcome to ITK !,

as a newcomer you are strongly encouraged to follow the tour
of the Welcoming package:

          http://www.itk.org/HTML/Welcome.htm

----

Regarding the problem you report with JPEG, this seems to be
a bug in the current JPEG writer with images in 16bits per pixel.

Please use "unsigned char" as pixel type in the meantime, or
us a fileformat different from JPEG.

We are taking a look at the 16bit problem with the JPEG writer.



Let us know if you find further problems,


    Thanks



      Luis



--------------------
Ramzy Darwish wrote:

> Hello,
> I am VERY new to ITK.
> 
> I have used VTK for about 8 months now and am getting the hang of it and 
> I would like to get the hang of ITK as well.
> 
> I am trying to modify examples to get my results but it is not working 
> correctly.
> 
> Using Examples\IO\ImageReadExtractWrite.cxx as a starting point, I am 
> trying to crop a JPEG image by user specified dimensions through a FLTK UI.
> 
> Now I can get the desired dimensions and stuff, but then when I apply 
> the filter, it comes back incorrectly. It seems as though different 
> regions of the image are superimposed upon each other. Also, the image 
> seems like there are missing pixels or something. I had this problem 
> with VTK in reading different endian-ed images (big -> little), but I 
> don't think this is my problem.
> 
> I really don't know where to begin. I don't think that using JPEGs is 
> the problem either, but as I said I am very new.
> 
> I am enclosing the code I am trying to use.
> 
> Please help me!
> 
> Thank you,
> Ramzy Darwish
> 
> /*******************************************************************
> int ITKWrapper::CropImage(char *fname, int x, int y, int w, int h)
> {
>  std::cout << "Cropping image: " << x << ", " << y << ", " << w << ", " 
> << h << endl;
> 
>  typedef unsigned short        InputPixelType;
>  typedef unsigned short        OutputPixelType;
> 
>  typedef itk::Image< InputPixelType,  2 >    InputImageType;
>  typedef itk::Image< OutputPixelType, 2 >    OutputImageType;
> 
>  typedef itk::ImageFileReader< InputImageType  >  ReaderType;
>  typedef itk::ImageFileWriter< OutputImageType >  WriterType;
> 
>  const char * inputFilename  = "IM000018.jpg";
>  const char * outputFilename = "tmp.jpg";
> 
>  ReaderType::Pointer reader = ReaderType::New();
>  WriterType::Pointer writer = WriterType::New();
> 
>  reader->SetFileName( inputFilename  );
>  writer->SetFileName( outputFilename );
> 
>  typedef itk::ExtractImageFilter< InputImageType, OutputImageType > 
> FilterType;
>  FilterType::Pointer filter = FilterType::New();
> 
>  reader->Update();
>  InputImageType::RegionType inputRegion =
>           reader->GetOutput()->GetLargestPossibleRegion();
>  InputImageType::SizeType size = inputRegion.GetSize();
>  size[0] = 100;
>  size[1] = 100;
>  size[2] = 0;
> 
>  InputImageType::IndexType start = inputRegion.GetIndex();
>  //const unsigned int sliceNumber = atoi( argv[3] );
>  start[0] = 100;
>  start[1] = 100;
>  //start[2] = sliceNumber;
>  InputImageType::RegionType desiredRegion;
>  desiredRegion.SetSize(  size  );
>  desiredRegion.SetIndex( start );
>  filter->SetExtractionRegion( desiredRegion );
>  filter->SetInput( reader->GetOutput() );
>  filter->Update();
>  writer->SetInput( filter->GetOutput() );
> 
>  try
>    {
>    writer->Update();
>    }
>  catch( itk::ExceptionObject & err )
>    {
>    std::cout << "ExceptionObject caught !" << std::endl;
>    std::cout << err.what() << std::endl;
>    return -1;
>    }
> 
>  return 0;
> }
> *******************************************************/
> 
> _________________________________________________________________
> MSN 9 Dial-up Internet Access fights spam and pop-ups – now 3 months 
> FREE! http://join.msn.click-url.com/go/onm00200361ave/direct/01/
> 
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
> 





More information about the Insight-users mailing list