/usr/include/InsightToolkit/Review/itkVTKImageIO2.h is in libinsighttoolkit3-dev 3.20.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | /*=========================================================================
  Program:   Insight Segmentation & Registration Toolkit
  Module:    itkVTKImageIO2.h
  Language:  C++
  Date:      $Date$
  Version:   $Revision$
  Copyright (c) Insight Software Consortium. All rights reserved.
  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
  Portions of this code are covered under the VTK copyright.
  See VTKCopyright.txt or http://www.kitware.com/VTKCopyright.htm for details.
     This software is distributed WITHOUT ANY WARRANTY; without even 
     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
     PURPOSE.  See the above copyright notices for more information.
=========================================================================*/
#ifndef __itkVTKImageIO2_h
#define __itkVTKImageIO2_h
#ifdef _MSC_VER
#pragma warning ( disable : 4786 )
#endif
#include <fstream>
#include "itkStreamingImageIOBase.h"
namespace itk
{
/** \class VTKImageIO2
 *
 *  \brief ImageIO class for reading VTK images
 *
 * \ingroup IOFilters
 *
 */
class ITK_EXPORT VTKImageIO2 
  : public StreamingImageIOBase
{
public:
  /** Standard class typedefs. */
  typedef VTKImageIO2                 Self;
  typedef StreamingImageIOBase        Superclass;
  typedef SmartPointer<Self>          Pointer;
  typedef SmartPointer<const Self>    ConstPointer;
  
  /** Method for creation through the object factory. */
  itkNewMacro(Self);
  /** Run-time type information (and related methods). */
  itkTypeMacro(VTKImageIO2, StreamingImageIOBase);
  /*-------- This part of the interface deals with reading data. ------ */
  /** Determine the file type. Returns true if this ImageIO can read the
   * file specified. */
  virtual bool CanReadFile(const char*);
  
  /** Set the spacing and dimesion information for the current filename. */
  virtual void ReadImageInformation();
  
  /** Reads the data from disk into the memory buffer provided. */
  virtual void Read(void* buffer);
  /*-------- This part of the interfaces deals with writing data. ----- */
  /** Determine the file type. Returns true if this ImageIO can read the
   * file specified. */
  virtual bool CanWriteFile(const char*);
  /** Writes the spacing and dimentions of the image.
   * Assumes SetFileName has been called with a valid file name. */
  virtual void WriteImageInformation() {};
  
  /** Writes the data to disk from the memory buffer provided. Make sure
   * that the IORegion has been set properly. */
  virtual void Write(const void* buffer);
  
  /** returns the header size, if it is unknown it will return 0 */
  virtual SizeType GetHeaderSize() const { return this->m_HeaderSize; }
protected:
  VTKImageIO2();
  ~VTKImageIO2();
  void PrintSelf(std::ostream& os, Indent indent) const;
  void InternalReadImageInformation(std::ifstream& file);
  void WriteImageInformation(const void* buffer);
  
  void ReadHeaderSize( std::ifstream& file );
  
private:
  VTKImageIO2(const Self&); //purposely not implemented
  void operator=(const Self&); //purposely not implemented
  void SetPixelTypeFromString( const std::string & pixelType);
  SizeType m_HeaderSize;
};
} // end namespace itk
#endif // __itkVTKImageIO2_h
 |