# gdcm::ImageHelper Class Reference

ImageHelper (internal class, not intended for user level) More...

`#include <gdcmImageHelper.h>`

List of all members.

## Static Public Member Functions

static bool | ComputeSpacingFromImagePositionPatient (const std::vector< double > &imageposition, std::vector< double > &spacing)
| DO NOT USE.
static std::vector< unsigned int > | GetDimensionsValue (const File &f)
static bool | GetDirectionCosinesFromDataSet (DataSet const &ds, std::vector< double > &dircos)
static std::vector< double > | GetDirectionCosinesValue (File const &f)
static bool | GetForcePixelSpacing ()
static bool | GetForceRescaleInterceptSlope ()
static SmartPointer< LookupTable > | GetLUT (File const &f)
static std::vector< double > | GetOriginValue (File const &f)
| Set/Get Origin (IPP) from/to a file.
static PhotometricInterpretation | GetPhotometricInterpretationValue (File const &f)
static PixelFormat | GetPixelFormatValue (const File &f)
static unsigned int | GetPlanarConfigurationValue (const File &f)
static const ByteValue * | GetPointerFromElement (Tag const &tag, File const &f)
| Moved from PixampReader to here. Generally used for photometric interpretation.
static std::vector< double > | GetRescaleInterceptSlopeValue (File const &f)
static std::vector< double > | GetSpacingValue (File const &f)
| Set/Get Spacing from/to a File.
static void | SetDirectionCosinesValue (DataSet &ds, const std::vector< double > &dircos)
static void | SetForcePixelSpacing (bool)
static void | SetForceRescaleInterceptSlope (bool)
static void | SetOriginValue (DataSet &ds, const Image &img)
static void | SetRescaleInterceptSlopeValue (File &f, const Image &img)
static void | SetSpacingValue (DataSet &ds, const std::vector< double > &spacing)

## Static Protected Member Functions

static Tag | GetSpacingTagFromMediaStorage (MediaStorage const &ms)
static Tag | GetZSpacingTagFromMediaStorage (MediaStorage const &ms)

## Detailed Description

ImageHelper (internal class, not intended for user level)

Helper for writing World images in DICOM. DICOM has a 'template' approach to image where MR Image Storage are distinct object from Enhanced MR Image Storage. For example the Pixel Spacing in one object is not at the same position (ie Tag) as in the other this class is the central (read: fragile) place where all the dispatching is done from a unified view of a world image (typically VTK or ITK point of view) down to the low level DICOM point of view.

Warning:
  : do not expect the API of this class to be maintained at any point, since as Modalities are added the API might have to be augmented or behavior changed to cope with new modalities.

## Member Function Documentation

static bool gdcm::ImageHelper::ComputeSpacingFromImagePositionPatient | ( | const std::vector< double > & | imageposition,
|  | std::vector< double > & | spacing
| ) |  | `[static]`

DO NOT USE.

static std::vector<unsigned int> gdcm::ImageHelper::GetDimensionsValue | ( | const File & | f | ) | `[static]`

This function checks tags (0x0028, 0x0010) and (0x0028, 0x0011) for the rows and columns of the image in pixels (as opposed to actual distances). The output is {col , row}

static bool gdcm::ImageHelper::GetDirectionCosinesFromDataSet | ( | DataSet const & | ds,
|  | std::vector< double > & | dircos
| ) |  | `[static]`

static std::vector<double> gdcm::ImageHelper::GetDirectionCosinesValue | ( | File const & | f | ) | `[static]`

Get Direction Cosines (IOP) from/to a file Requires a file because mediastorage must be known

static bool gdcm::ImageHelper::GetForcePixelSpacing | ( |  | ) | `[static]`

static bool gdcm::ImageHelper::GetForceRescaleInterceptSlope | ( |  | ) | `[static]`

static SmartPointer<LookupTable> gdcm::ImageHelper::GetLUT | ( | File const & | f | ) | `[static]`

static std::vector<double> gdcm::ImageHelper::GetOriginValue | ( | File const & | f | ) | `[static]`

Set/Get Origin (IPP) from/to a file.

static PhotometricInterpretation gdcm::ImageHelper::GetPhotometricInterpretationValue | ( | File const & | f | ) | `[static]`

static PixelFormat gdcm::ImageHelper::GetPixelFormatValue | ( | const File & | f | ) | `[static]`

This function returns pixel information about an image from its dataset That includes samples per pixel and bit depth (in that order)

static unsigned int gdcm::ImageHelper::GetPlanarConfigurationValue | ( | const File & | f | ) | `[static]`

static const ByteValue* gdcm::ImageHelper::GetPointerFromElement | ( | Tag const & | tag,
|  | File const & | f
| ) |  | `[static]`

Moved from PixampReader to here. Generally used for photometric interpretation.

static std::vector<double> gdcm::ImageHelper::GetRescaleInterceptSlopeValue | ( | File const & | f | ) | `[static]`

Set/Get shift/scale from/to a file

Warning:
  this function reads/sets the Slope/Intercept in appropriate class storage, but also Grid Scaling in RT Dose Storage Can't take a dataset because the mediastorage of the file must be known

static Tag gdcm::ImageHelper::GetSpacingTagFromMediaStorage | ( | MediaStorage const & | ms | ) | `[static, protected]`

static std::vector<double> gdcm::ImageHelper::GetSpacingValue | ( | File const & | f | ) | `[static]`

Set/Get Spacing from/to a File.

static Tag gdcm::ImageHelper::GetZSpacingTagFromMediaStorage | ( | MediaStorage const & | ms | ) | `[static, protected]`

static void gdcm::ImageHelper::SetDirectionCosinesValue | ( | DataSet & | ds,
|  | const std::vector< double > & | dircos
| ) |  | `[static]`

Set Direction Cosines (IOP) from/to a file When IOD does not defines what is IOP (eg. typically Secondary Capture Image Storage) this call will simply remove the IOP attribute. Else in case of MR/CT image storage, this call will properly lookup the correct attribute to store the IOP.

static void gdcm::ImageHelper::SetForcePixelSpacing | ( | bool |  | ) | `[static]`

GDCM 1.x compatibility issue: When using ReWrite an MR Image Storage would be rewritten as Secondary Capture Object while still having a Pixel Spacing tag (0028,0030). If you have deal with those files, use this very special flag to handle them Unless explicitely set elsewhere by the standard, it will use value from 0028,0030 / 0018,0088 for the Pixel Spacing of the Image

static void gdcm::ImageHelper::SetForceRescaleInterceptSlope | ( | bool |  | ) | `[static]`

GDCM 1.x compatibility issue: when using ReWrite an MR Image Storage would be rewritten with a Rescale Slope/Intercept while the standard would prohibit this (Philips Medical System is still doing that) Unless explicitely set elsewhere by the standard, it will use value from 0028,1052 / 0028,1053 for the Rescale Slope & Rescale Intercept values

static void gdcm::ImageHelper::SetOriginValue | ( | DataSet & | ds,
|  | const Image & | img
| ) |  | `[static]`

static void gdcm::ImageHelper::SetRescaleInterceptSlopeValue | ( | File & | f,
|  | const Image & | img
| ) |  | `[static]`

static void gdcm::ImageHelper::SetSpacingValue | ( | DataSet & | ds,
|  | const std::vector< double > & | spacing
| ) |  | `[static]`

The documentation for this class was generated from the following file:

- gdcmImageHelper.h