[Insight-users] read a meta image and write it to DICOM
Luis Ibanez
luis.ibanez at kitware.com
Tue Sep 13 09:11:54 EDT 2005
Hi
There are many examples of Intensity rescaling in the
ITK Software Guide
http://www.itk.org/ItkSoftwareGuide.pdf
Many of them in the chapter : "Reading and Writing Images".
You may want to search for any of the following filters
- RescaleIntensityImageFilter
- IntensityWindowingImageFilter
The source code of all the examples is available in the
directory
Insight/Examples
In the IO chapter you will find examples on how to read
and write DICOM images. The source code of these examples
can be found in
Insight/Examples/IO
Regards,
Luis
---------------
陳政煒 wrote:
> Thanks for your help.
> But I don't know how to rescale my input data to fit within the range
> of the WriteType
> Have any example about this?
>
> appreciate your kindness.
>
> Wordon
>
> 2005/9/12, Bill Lorensen <wlorens1 at nycap.rr.com>:
>
>>You can specify any integral type for dicom. The problem is your input and
>>output types are not consistent.
>>
>>You can:
>>
>>1) Declare the ImageType for the reader to be short. However if your input
>>range exceeds that which a short can hold you will have problems.
>>
>>2) Declare the WriteType to be signed int. However, most dicom images are
>>with short or unsigned short.
>>
>>3) Insert a CastImageFilter<ImageType,WriteType>. Here you will have the
>>same problems as 1).
>>
>>4) Rescale your input data to fit within the range of the WriteType.
>>Several options are available.
>>
>>Bill
>>
>>At 01:21 PM 9/11/2005, =?BIG5?B?s6+sRt5t?= wrote:
>>
>>>Hi,all ITK user:
>>>
>>>I want to read a meta image(.mhd) and write it to DICOM format.
>>>
>>>This is my code for this question:
>>>
>>>========================================================
>>>#include "itkImageFileReader.h"
>>>#include "itkImageFileWriter.h"
>>>#include "itkImage.h"
>>>#include "itkRescaleIntensityImageFilter.h"
>>>#include "itkMetaDataDictionary.h"
>>>#include "itkMetaDataObject.h"
>>>#include "itkGDCMImageIO.h"
>>>
>>>#include <list>
>>>#include <fstream>
>>>
>>>int main(int ac, char* av[])
>>>{
>>>
>>> if(ac < 3)
>>> {
>>> std::cerr << "Usage: " << av[0] << " InputMETAFile OutputDICOM\n";
>>> return EXIT_FAILURE;
>>> }
>>>
>>> typedef itk::Image<signed int, 3> ImageType;
>>>
>>> typedef itk::ImageFileReader< ImageType > VolumeReaderType;
>>>
>>> VolumeReaderType::Pointer reader = VolumeReaderType::New();
>>>
>>> reader->SetFileName( av[1] );
>>>
>>> try
>>> {
>>> reader->Update();
>>> }
>>> catch (itk::ExceptionObject & e)
>>> {
>>> std::cerr << "exception in file reader " << std::endl;
>>> std::cerr << e.GetDescription() << std::endl;
>>> std::cerr << e.GetLocation() << std::endl;
>>> return EXIT_FAILURE;
>>> }
>>>
>>>
>>> typedef itk::GDCMImageIO ImageIOType;
>>>
>>> ImageIOType::Pointer gdcmImageIO = ImageIOType::New();
>>>
>>>
>>>
>>> typedef itk::Image<short, 3> WriteType;
>>> typedef itk::ImageFileWriter<WriteType> Writer1Type;
>>> Writer1Type::Pointer writer1=Writer1Type::New();
>>>
>>> writer1->SetFileName( av[2] );
>>> writer1->SetImageIO( gdcmImageIO );
>>> writer1->SetInput( reader->GetOutput() );
>>>
>>>
>>> try
>>> {
>>> writer1->Update();
>>> }
>>> catch (itk::ExceptionObject & e)
>>> {
>>> std::cerr << "exception in file writer " << std::endl;
>>> std::cerr << e.GetDescription() << std::endl;
>>> std::cerr << e.GetLocation() << std::endl;
>>> return EXIT_FAILURE;
>>> }
>>>
>>> return EXIT_SUCCESS;
>>>
>>>}
>>>
>>>========================================================
>>>I get a error message as follows:
>>>
>>>error C2664: 'SetInput' : cannot convert parameter 1 from 'class
>>>itk::Image<int,3> *' to 'const class itk::Image<short,3> *'
>>>Types pointed to are unrelated; conversion requires reinterpret_cast,
>>>C-style cast or function-style cast
>>>
>>>
>>>My question is:
>>>
>>>what format can specify when I read a META image and write it to DICOM?
>>>_______________________________________________
>>>Insight-users mailing list
>>>Insight-users at itk.org
>>>http://www.itk.org/mailman/listinfo/insight-users
>>
>>
> _______________________________________________
> 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