[Insight-users] problem with orientation of dicom output from segmentation

John Drozd john.drozd at gmail.com
Mon Nov 30 18:23:27 EST 2009


Hi Bill,

I ended up using the statementy in my CMakeLists.txt file:
SET (CMAKE_CXX_FLAGS_DEBUG "-DDEBUG -ggdb" CACHE STRING "Flags used by the
compiler during debug builds." FORCE)

Here is the debugger output.  I will try to figure out the problem as to why
my code is segmentation faulting, but I thought I would send you the gdb
debugger output, in case you have some insight:

thanks,
john

[jdrozd at trumpet ConnectedThresholdImageFilter2]$ gdb
./ConnectedThresholdImageFilter

GNU gdb Fedora
(6.8-32.fc10)

Copyright (C) 2008 Free Software Foundation,
Inc.

License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>

This is free software: you are free to change and redistribute
it.

There is NO WARRANTY, to the extent permitted by law.  Type "show
copying"

and "show warranty" for
details.

This GDB was configured as
"x86_64-redhat-linux-gnu"...

(no debugging symbols
found)

(gdb) set args correctedsubject5.dcm outsubject5.dcm 103 142 95 17100
17300

(gdb)
run

Starting program:
/trumpet/downloads/ConnectedThresholdImageFilter_Plugin/ConnectedThresholdImageFilter/ConnectedThresholdImageFilter2/ConnectedThresholdImageFilter
correctedsubject5.dcm outsubject5.dcm 103 142 95 17100
17300

(no debugging symbols
found)

(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 0x7ffff3b8c750 (LWP 24704)]

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff50efa3a in std::_Rb_tree<std::string, std::pair<std::string
const, itk::SmartPointer<itk::MetaDataObjectBase> >,
std::_Select1st<std::pair<std::string const,
itk::SmartPointer<itk::MetaDataObjectBase> > >, std::less<std::string>,
std::allocator<std::pair<std::string const,
itk::SmartPointer<itk::MetaDataObjectBase> > > >::begin (this=0x0) at
/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_tree.h:599
599                             (this->_M_impl._M_header._M_left));
Current language:  auto; currently c++
Missing separate debuginfos, use: debuginfo-install
e2fsprogs-libs-1.41.4-6.fc10.x86_64 glibc-2.9-3.x86_64 libgcc-4.3.2-7.x86_64
libstdc++-4.3.2-7.x86_64
(gdb) where
#0  0x00007ffff50efa3a in std::_Rb_tree<std::string, std::pair<std::string
const, itk::SmartPointer<itk::MetaDataObjectBase> >,
std::_Select1st<std::pair<std::string const,
itk::SmartPointer<itk::MetaDataObjectBase> > >, std::less<std::string>,
std::allocator<std::pair<std::string const,
itk::SmartPointer<itk::MetaDataObjectBase> > > >::begin (this=0x0) at
/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_tree.h:599
#1  0x00007ffff50efa65 in std::map<std::string,
itk::SmartPointer<itk::MetaDataObjectBase>, std::less<std::string>,
std::allocator<std::pair<std::string const,
itk::SmartPointer<itk::MetaDataObjectBase> > > >::begin (this=0x0)
    at
/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_map.h:276
#2  0x00007ffff50ef0b6 in itk::MetaDataDictionary::Begin (this=0x791a60)
    at
/trumpet/downloads/3DSlicerNov302009/Slicer3-lib/Insight/Code/Common/itkMetaDataDictionary.cxx:108
#3  0x00007ffff7caaab7 in itk::GDCMImageIO::Write (this=0x7fffffffd130,
buffer=0x791110)
    at
/trumpet/downloads/3DSlicerNov302009/Slicer3-lib/Insight/Code/IO/itkGDCMImageIO.cxx:1338
#4  0x000000000047e461 in itk::ImageFileReader<itk::Image<short, 3u>,
itk::DefaultConvertPixelTraits<short> >::EnlargeOutputRequestedRegion ()
#5  0x00007ffff502f0e0 in itk::ProcessObject::PropagateRequestedRegion
(this=0x784260, output=0x788630)
    at
/trumpet/downloads/3DSlicerNov302009/Slicer3-lib/Insight/Code/Common/itkProcessObject.cxx:783
#6  0x00007ffff4ff667b in itk::DataObject::PropagateRequestedRegion
(this=0x788630)
    at
/trumpet/downloads/3DSlicerNov302009/Slicer3-lib/Insight/Code/Common/itkDataObject.cxx:389
#7  0x00007ffff4ff49e0 in itk::DataObject::Update (this=0x788630)
    at
/trumpet/downloads/3DSlicerNov302009/Slicer3-lib/Insight/Code/Common/itkDataObject.cxx:343
#8  0x00007ffff502f3ef in itk::ProcessObject::Update (this=0x784260)
    at
/trumpet/downloads/3DSlicerNov302009/Slicer3-lib/Insight/Code/Common/itkProcessObject.cxx:615
#9  0x000000000043fd3d in main ()
(gdb)


On Mon, Nov 30, 2009 at 2:56 PM, John Drozd <john.drozd at gmail.com> wrote:

> Hi Bill,
>
> I installed the nightly build of 3D Slicer which includes Itk 3.16.
>
> As you suggested I tried to compile my code with Itk 3.16, to see if the
> "upside down" problem prevailed, but a new bigger problem exists for me with
> using Itk 3.16.
>
> I am perplexed that using Itk 3.16, my code segmenation faults when I
> invoke reader->Update(),
> for a dicom series or a dicom volume, whereas previously with itk 3.14 it
> worked just fine.
>
> I am currently trying to figure out how to set the "-g" compiler option for
> the CMakeLists.txt file so I can run the gdb debugger on it to find out
> where it segmentation faults.
>
> I tried the command:
> set (CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
> but so far that has not worked.
>
> john
>
> On Fri, Nov 27, 2009 at 4:48 PM, Bill Lorensen <bill.lorensen at gmail.com>wrote:
>
>> John,
>>
>> Actually, Mathieu reported in response that updating to 3.16 may help.
>> Can you try this first?
>>
>> Bill
>>
>> On Fri, Nov 27, 2009 at 12:42 PM, John Drozd <john.drozd at gmail.com>
>> wrote:
>> > Hi again,
>> >
>> > I was at home and I just figured out how to provide you this link to my
>> data
>> > remotely,
>> > so I provide it now instead of on the weekend:
>> >
>> > Here is a link to my data (3D dicom volume):
>> >
>> > input volume for my ConnectedThresholdFilter code:
>> > http://www.apmaths.uwo.ca/~jdrozd/correctedsubject5.dcm<http://www.apmaths.uwo.ca/%7Ejdrozd/correctedsubject5.dcm>
>> >
>> > output volume from my ConnectedThresholdFilter code:
>> > http://www.apmaths.uwo.ca/~jdrozd/outsubject5.dcm<http://www.apmaths.uwo.ca/%7Ejdrozd/outsubject5.dcm>
>> >
>> > If you need my CMakeLists.txt file, just let me know.
>> >
>> > to run the code type:
>> > ./ConnectedThresholdImageFilter correctedsubject5.dcm outsubject5.dcm
>> 103
>> > 142 95 17100 17300
>> > and here is my code below:
>> >
>> >
>> >
>> > Below is my uncommented code:
>> > /*
>> > to run type:
>> > ./ConnectedThresholdImageFilter correctedsubject5.dcm outsubject5.dcm
>> 103
>> > 142 95 17100 17300
>> > */
>> > #if defined(_MSC_VER)
>> > #pragma warning ( disable : 4786 )
>> > #endif
>> > #ifdef __BORLANDC__
>> > #define ITK_LEAN_AND_MEAN
>> > #endif
>> > #include "itkConnectedThresholdImageFilter.h"
>> > #include "itkImage.h"
>> > #include "itkCastImageFilter.h"
>> > #include "itkCurvatureFlowImageFilter.h"
>> > #include "itkImageFileReader.h"
>> > #include "itkImageFileWriter.h"
>> > #include "itkGDCMImageIO.h"
>> > #include "itkVersion.h"
>> > #include "itkOrientedImage.h"
>> > #include "itkMinimumMaximumImageFilter.h"
>> > #include "itkGDCMImageIO.h"
>> > #include "itkGDCMSeriesFileNames.h"
>> > #include "itkNumericSeriesFileNames.h"
>> > #include "itkImageSeriesReader.h"
>> > #include "itkImageSeriesWriter.h"
>> > #include "itkResampleImageFilter.h"
>> > #include "itkShiftScaleImageFilter.h"
>> > #include "itkIdentityTransform.h"
>> > #include "itkLinearInterpolateImageFunction.h"
>> > #include <itksys/SystemTools.hxx>
>> > #include "gdcm/src/gdcmFile.h"
>> > #include "gdcm/src/gdcmUtil.h"
>> > #include <string>
>> > int main( int argc, char *argv[])
>> > {
>> >   if( argc < 7 )
>> >     {
>> >     std::cerr << "Missing Parameters " << std::endl;
>> >     std::cerr << "Usage: " << argv[0];
>> >     std::cerr << " inputImage  outputImage seedX seedY seedZ
>> lowerThreshold
>> > upperThreshold" << std::endl;
>> >     return 1;
>> >     }
>> >   typedef   float           InternalPixelType;
>> >
>> >   const     unsigned int    Dimension = 3;
>> >   typedef itk::Image< InternalPixelType, Dimension >  InternalImageType;
>> >   typedef signed short OutputPixelType;
>> >   typedef itk::Image< OutputPixelType, Dimension > OutputImageType;
>> >   typedef itk::Image< float, Dimension > OutputImageType2;
>> >   typedef itk::CastImageFilter< InternalImageType, OutputImageType >
>> >     CastingFilterType;
>> >   CastingFilterType::Pointer caster = CastingFilterType::New();
>> >
>> >   const    unsigned int    ImageDimension = 3;
>> >   typedef  signed short    PixelType;
>> >   typedef itk::Image< PixelType, ImageDimension >  FixedImageType;
>> >   typedef itk::Image< float, ImageDimension >  FloatImageType;
>> >   typedef  itk::ImageFileReader< FixedImageType > ReaderType;
>> >   typedef  itk::ImageFileWriter<  OutputImageType  > WriterType;
>> >   typedef  itk::ImageFileWriter<  FloatImageType  > WriterType2;
>> >   ReaderType::Pointer reader = ReaderType::New();
>> >   WriterType::Pointer writer = WriterType::New();
>> >   WriterType2::Pointer writer2 = WriterType2::New();
>> >   typedef itk::GDCMImageIO           ImageIOTypefixed;
>> >   ImageIOTypefixed::Pointer gdcmImageIOfixed = ImageIOTypefixed::New();
>> >   reader->SetImageIO( gdcmImageIOfixed );
>> >   typedef itk::GDCMImageIO           ImageIOTypefixed2;
>> >   ImageIOTypefixed2::Pointer gdcmImageIOfixed2 =
>> ImageIOTypefixed2::New();
>> >   reader->SetFileName( argv[1] );
>> >   reader->Update();
>> >   typedef itk::CurvatureFlowImageFilter< InternalImageType,
>> > InternalImageType >
>> >     CurvatureFlowImageFilterType;
>> >
>> >   CurvatureFlowImageFilterType::Pointer smoothing =
>> >                          CurvatureFlowImageFilterType::New();
>> >   typedef itk::ConnectedThresholdImageFilter< InternalImageType,
>> >                                     InternalImageType >
>> ConnectedFilterType;
>> >   ConnectedFilterType::Pointer connectedThreshold =
>> > ConnectedFilterType::New();
>> >   typedef signed short InputAPixelType;
>> >   typedef float OutputBPixelType;
>> >   typedef itk::Image< InputAPixelType, 3 > InputAImageType;
>> >   typedef itk::Image< OutputBPixelType, 3 > OutputBImageType;
>> >   typedef itk::CastImageFilter< InputAImageType, OutputBImageType >
>> > CastFilterType;
>> >   CastFilterType::Pointer castFilter = CastFilterType::New();
>> >   castFilter->SetInput( reader->GetOutput() );
>> >
>> >   connectedThreshold->SetInput( castFilter->GetOutput() );
>> >   caster->SetInput( connectedThreshold->GetOutput() );
>> >   smoothing->SetNumberOfIterations( 20 ); //was 5
>> >   smoothing->SetTimeStep( 0.125 );
>> >
>> >   const InternalPixelType lowerThreshold = atof( argv[6] );
>> >   const InternalPixelType upperThreshold = atof( argv[7] );
>> >
>> >   connectedThreshold->SetLower(  lowerThreshold  );
>> >   connectedThreshold->SetUpper(  upperThreshold  );
>> >
>> >   connectedThreshold->SetReplaceValue( 255 );
>> >   InternalImageType::IndexType  index;
>> >
>> >   index[0] = atoi( argv[3] );
>> >   index[1] = atoi( argv[4] );
>> >
>> >   //added
>> >   index[2] = atoi( argv[5] );
>> >   std::cout << index << std::endl;
>> >   // Software Guide : BeginCodeSnippet
>> >   connectedThreshold->SetSeed( index );
>> >
>> >   //obtain a 5 x 5 bounding region of seeds
>> >   int ii, jj, kk;
>> >   ii = index[0];
>> >   jj = index[1];
>> >   kk = index[2];
>> >   for (int i = ii; i < ii + 5; i++)
>> >     for (int j = jj; j < jj + 5; j++)
>> >       for (int k = kk; k < kk + 5; k++)
>> >     {
>> >
>> >       index[0] = i;
>> >       index[1] = j;
>> >       index[2] = k;
>> >       connectedThreshold->AddSeed( index );
>> >     }
>> >   for (int i = ii; i > ii - 5; i--)
>> >     for (int j = jj; j > jj - 5; j--)
>> >       for (int k = kk; k > kk - 5; k--)
>> >     {
>> >
>> >       index[0] = i;
>> >       index[1] = j;
>> >       index[2] = k;
>> >       connectedThreshold->AddSeed( index );
>> >     }
>> >   connectedThreshold->Print(std::cout,17100);
>> >
>> >   typedef itk::MetaDataDictionary DictionaryType;
>> >
>> >   DictionaryType inputdict = reader->GetMetaDataDictionary();
>> >
>> >   writer->SetMetaDataDictionary( inputdict );
>> >
>> >   writer->SetFileName( argv[2] );
>> >
>> >   writer->SetInput( caster->GetOutput() );
>> >   try
>> >     {
>> >     writer->Update();
>> >     }
>> >   catch( itk::ExceptionObject & excep )
>> >     {
>> >     std::cerr << "Exception caught !" << std::endl;
>> >     std::cerr << excep << std::endl;
>> >     }
>> >   return 0;
>> > On Fri, Nov 27, 2009 at 12:31 PM, John Drozd <john.drozd at gmail.com>
>> wrote:
>> >>
>> >> Hi all,
>> >>
>> >> I originally have a dicom series of 2d slices which I had converted to
>> a
>> >> 3D dicom volume for processing.
>> >> I'll try processing the dicom series and then write the output to a
>> dicom
>> >> series of 2d slices, to see if I can circumvent this problem.
>> >> I'll let you know if this works?
>> >>
>> >> I'll provide a link to my data as well, but it probably won't be until
>> the
>> >> weekend.
>> >>
>> >> Thanks,
>> >> john
>> >>
>> >> On Fri, Nov 27, 2009 at 12:23 PM, Mathieu Malaterre
>> >> <mathieu.malaterre at gmail.com> wrote:
>> >>>
>> >>> This is a post ITK 3.16 feature I am afraid:
>> >>>
>> >>> http://www.cmake.org/Bug/view.php?id=7748
>> >>>
>> >>> (0017626)
>> >>> Mathieu.Malaterre (developer)
>> >>> 2009-09-19 06:51
>> >>>
>> >>>        This will be post ITK 3.16.
>> >>>
>> >>> Thanks for the patch ! Sorry for being so long to fix it.
>> >>>
>> >>> On Fri, Nov 27, 2009 at 6:11 PM, Bill Lorensen <
>> bill.lorensen at gmail.com>
>> >>> wrote:
>> >>> > John,
>> >>> >
>> >>> > 3.16 will not help. This looks like a bug for sure.
>> >>> >
>> >>> > Can you provide a link to a dataset that we can use to reproduce the
>> >>> > problem? We don't have much experience with 3D dicom files I'm
>> afraid.
>> >>> >
>> >>> > Bill
>> >>> >
>> >>> > On Fri, Nov 27, 2009 at 11:59 AM, John Drozd <john.drozd at gmail.com>
>> >>> > wrote:
>> >>> >> Hi Bill,
>> >>> >>
>> >>> >> I am currently using the ITK 3.14 that is in the 3D Slicer 3.4
>> >>> >> directory Slicer3-lib/Insight
>> >>> >>
>> >>> >> If I upgrade to ITK 3.16, will this solve my problem?
>> >>> >>
>> >>> >> I downloaded ITK 3.16 and noticed using the diff command that
>> >>> >> itkGDCMIO.h has been modified from what it was in ITK 3.14.
>> >>> >>
>> >>> >> But when I ran diff on gdcmOrientation.cxx in both versions of ITK,
>> >>> >> diff showed no difference.
>> >>> >>
>> >>> >> John
>> >>> >>
>> >>> >> On Friday, November 27, 2009, Bill Lorensen <
>> bill.lorensen at gmail.com>
>> >>> >> wrote:
>> >>> >>> John,
>> >>> >>>
>> >>> >>> What version of itk are you using? Are you using the gdcm 1.x that
>> is
>> >>> >>> in the itk source tree or an external gdcm 2.x version?
>> >>> >>>
>> >>> >>> Bill
>> >>> >>>
>> >>> >>> On Thu, Nov 26, 2009 at 3:22 PM, John Drozd <john.drozd at gmail.com
>> >
>> >>> >>> wrote:
>> >>> >>>> Hi Luis,
>> >>> >>>>
>> >>> >>>> I was getting a segmentation fault because I had forgotten to
>> change
>> >>> >>>> the
>> >>> >>>> Dimension from 2 to 3 in DicomReadPrintTag.cxx.
>> >>> >>>>
>> >>> >>>> For the input image, I have:
>> >>> >>>> (0020|0037) Image Orientation (Patient) =
>> 0.0\0.0\-1.0\0.0\1.0\0.0
>> >>> >>>>
>> >>> >>>> For the output image, I have:
>> >>> >>>> (0020|0037) Image Orientation (Patient) =
>> >>> >>>> 0.000000\0.000000\1.000000\0.000000\1.000000\0.000000
>> >>> >>>>
>> >>> >>>> There is a difference.  Since the program is changing the
>> >>> >>>> orientation when
>> >>> >>>> processed through the pipeline, is the best approach to manually
>> >>> >>>> change the
>> >>> >>>> orientation tag of the dictionary and then copy the revised
>> >>> >>>> dictionary to
>> >>> >>>> the output file?
>> >>> >>>>
>> >>> >>>> john
>> >>> >>>>
>> >>> >>>> Below are the full tags:
>> >>> >>>>
>> >>> >>>> [jdrozd at trumpet DicomImageReadPrintTags]$
>> ./DicomImageReadPrintTags
>> >>> >>>> correctedsubject5.dcm
>> >>> >>>> (0002|0000) Group Length =
>> >>> >>>> 214
>> >>> >>>> (0002|0001) File Meta Information Version =
>> >>> >>>> AAE=
>> >>> >>>> (0002|0002) Media Storage SOP Class UID =
>> >>> >>>> 1.2.840.10008.5.1.4.1.1.2
>> >>> >>>> (0002|0003) Media Storage SOP Instance UID =
>> >>> >>>> 1.2.826.0.1.3680043.2.1125.1.10607669833050788267094246636093811
>> >>> >>>> (0002|0010) Transfer Syntax UID =
>> >>> >>>> 1.2.840.10008.1.2.1
>> >>> >>>> (0002|0012) Implementation Class UID =
>> >>> >>>> 147.144.143.155
>> >>> >>>> (0002|0013) Implementation Version Name = ITK/GDCM
>> >>> >>>> 1.2.4
>> >>> >>>> (0002|0016) Source Application Entity Title =
>> >>> >>>> NOTSPECIFIED
>> >>> >>>> (0008|0008) Image Type =
>> >>> >>>> DERIVED\PRIMARY
>> >>> >>>> (0008|0012) Instance Creation Date =
>> >>> >>>> 20091029
>> >>> >>>> (0008|0013) Instance Creation Time =
>> >>> >>>> 135224
>> >>> >>>> (0008|0016) SOP Class UID =
>> >>> >>>> 1.2.840.10008.5.1.4.1.1.2
>> >>> >>>> (0008|0018) SOP Instance UID =
>> >>> >>>> 1.2.826.0.1.3680043.2.1125.1.10607669833050788267094246636093811
>> >>> >>>> (0008|0020) Study Date =
>> >>> >>>> 20081030
>> >>> >>>> (0008|0030) Study Time =
>> >>> >>>> 164348.940
>> >>> >>>> (0008|0050) Accession Number
>> >>> >>>> =
>> >>> >>>> (0008|0060) Modality =
>> >>> >>>> CT
>> >>> >>>> (0008|0064) Conversion Type =
>> >>> >>>> WSD
>> >>> >>>> (0008|0070) Manufacturer =
>> >>> >>>> Manifacturer
>> >>> >>>> (0008|0080) Institution Name = GDCM
>> >>> >>>> Hospital
>> >>> >>>> (0008|0090) Referring Physician's Name = Refering
>> >>> >>>> Phisician
>> >>> >>>> (0010|0010) Patient's Name = Patient
>> >>> >>>> 188858520
>> >>> >>>> (0010|0020) Patient ID =
>> >>> >>>> 1747233212
>> >>> >>>> (0010|0030) Patient's Birth Date =
>> >>> >>>> 19500101
>> >>> >>>> (0010|0040) Patient's Sex =
>> >>> >>>> M
>> >>> >>>> (0018|0088) Spacing Between Slices =
>> >>> >>>> 1.207500
>> >>> >>>> (0018|1164) Imager Pixel Spacing =
>> >>> >>>> 0.945750\0.945750
>> >>> >>>> (0020|000d) Study Instance UID =
>> >>> >>>> 1.2.826.0.1.3680043.2.1125.1.53653479342656887425609263146205769
>> >>> >>>> (0020|000e) Series Instance UID =
>> >>> >>>> 1.2.826.0.1.3680043.2.1125.1.47155241092896696198844159625679986
>> >>> >>>> (0020|0010) Study ID =
>> >>> >>>> 1533117581
>> >>> >>>> (0020|0011) Series Number =
>> >>> >>>> 2135500125
>> >>> >>>> (0020|0013) Instance Number =
>> >>> >>>> 165
>> >>> >>>> (0020|0020) Patient Orientation =
>> >>> >>>> L\P
>> >>> >>>> (0020|0032) Image Position (Patient) =
>> >>> >>>> 199.237496852874\0.0\0.0
>> >>> >>>> (0020|0037) Image Orientation (Patient) =
>> >>> >>>> 0.0\0.0\-1.0\0.0\1.0\0.0
>> >>> >>>> (0020|4000) Image Comments = NOT FOR CLINICAL
>> >>> >>>> USE
>> >>> >>>> (0028|0002) Samples per Pixel =
>> >>> >>>> 1
>> >>> >>>> (0028|0004) Photometric Interpretation =
>> >>> >>>> MONOCHROME2
>> >>> >>>> (0028|0008) Number of Frames =
>> >>> >>>> 166
>> >>> >>>> (0028|0010) Rows =
>> >>> >>>> 256
>> >>> >>>> (0028|0011) Columns =
>> >>> >>>> 256
>> >>> >>>> (0028|0030) Pixel Spacing =
>> >>> >>>> 0.945750\0.945750
>> >>> >>>> (0028|0034) Pixel Aspect Ratio =
>> >>> >>>> 1\1
>> >>> >>>> (0028|0100) Bits Allocated =
>> >>> >>>> 16
>> >>> >>>> (0028|0101) Bits Stored =
>> >>> >>>> 16
>> >>> >>>> (0028|0102) High Bit =
>> >>> >>>> 15
>> >>> >>>> (0028|0103) Pixel Representation =
>> >>> >>>> 0
>> >>> >>>> (0028|1052) Rescale Intercept =
>> >>> >>>> 0.0
>> >>> >>>> (0028|1053) Rescale Slope =
>> >>> >>>> 1.0
>> >>> >>>> (0028|1054) Rescale Type =
>> >>> >>>> US
>> >>> >>>> (7fe0|0000) Group Length =
>> >>> >>>> 21757964
>> >>> >>>> Patient's Name (0010|0010)  is: Patient
>> >>> >>>> 188858520
>> >>> >>>> Performing Physician's Name (0008|1050): (No Value Found in
>> >>> >>>> File)
>> >>> >>>> PixelType:
>> >>> >>>> scalar
>> >>> >>>> Component Type: unsigned_short
>> >>> >>>>
>> >>> >>>> [jdrozd at trumpet DicomImageReadPrintTags]$
>> ./DicomImageReadPrintTags
>> >>> >>>> outsubject5.dcm
>> >>> >>>> (0002|0000) Group Length =
>> >>> >>>> 194
>> >>> >>>> (0002|00
>> >>> >>
>> >>> > _____________________________________
>> >>> > 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.html
>> >>> >
>> >>> > 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
>> >>> >
>> >>>
>> >>>
>> >>>
>> >>> --
>> >>> Mathieu
>> >>
>> >
>> >
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20091130/706fed79/attachment-0001.htm>


More information about the Insight-users mailing list