Clean an enhance hypertree grids.

Fix typos, style & a potential memory leaks.
Add initial support for extent on level 0 rectilinear grid.

Change-Id: I03ddd5a0b5a30901054a59ebe2bee2be38fa2bf8
Two fixes for certain lsm (zeiss) tiff images.

The first fix is that some zeiss images set PlanarConfig to "SEPARATE"
(i.e. separate color planes) even when NumberOfSamples is 1.  When the
number of samples is one, the PlanarConfig can be safely ignored.

The second fix is that ReadVolume assumed that the number of slices was
always equal to NumberOfPages, which was in conflict with ExecuteInformation
which set the number of slices to SubFiles if SubFiles > 0 (cf line 505).
This caused a crash, because ReadVolume was reading more data than the
reader had allocated space for.

Change-Id: I822e45a53c210b5edebfe8ce27443fe1434110ba
Add reader/writer for NIFTIv1 and NIFTIv2 files.

This patch adds support for reading and writing NIFTI files, as well
as full access to the NIFTI header.  Versions 1 and 2 of the NIFTI
header are supported, and the reader can also be used to read Analyze 7.5
files, though the only Analyze header elements that are supported are the
ones that overlap with NIFTI.  Automatic compression and expansion for
gzipped files is also provided whenever the filename ends with a .gz
extension.

Change-Id: Iead3afb1a65d8c01aa52f3ca55c6da2f08703375
Merge topic 'nifti' into master

e7aa61da Add reader/writer for NIFTIv1 and NIFTIv2 files.
Merge topic 'CleanHyperTreeGrid' into master

d0c862b4 Clean an enhance hypertree grids.
Add SetSlabModeToSum() to vtkImageResliceMapper.

This change allows vtkImageResliceMapper to produce images that look
like digitally reconstructed radiographs.  It required a new property
to be added to vtkImageReslice, called ScalarScale, so that the output
intensity can be appropriately scaled to the slab thickness, which is
specified in physical units of distance (typically millimeters).  An
existing test was modified in order to test this new feature.

A ScalarShift property was also added for symmetry with ScalarScale,
plus an OutputScalarType property so that vtkImageReslice can output a
different scalar type than its input (useful for avoiding overflow with
SetSlabModeToSum()).

This change also fixes a performance issue that was introduced in August
2011 when the SetInterpolator() method was added: that change caused the
scalar conversion to always clamp to the limits of the output type, even
when clamping was unecessary.  Now, clamping is only done when needed.

Change-Id: I5e55db509e8ec537632a7a7e063a3bc0c50d9d20
Merge topic 'ExposeSlabSum' into master

048419fb Add SetSlabModeToSum() to vtkImageResliceMapper.
Merge topic 'tiff-zeiss' into master

7ff8bfd0 Two fixes for certain lsm (zeiss) tiff images.
Redesign "vtkGhostLevels" arrays and related ghost functionalties.

 -The semantics of each unsigned char in the ghost arrays changes:
  Instead of storing a numeric value representing how far a cell is
  from the boundary, it is now a bit field specified by
  vtkDataSetAttributes::CellGhostTypes and
  vtkDataSetAttributes::PointGhostTypes.  The bit field is consistent
  with VisIt specs.

- Previously, filters strip all ghost cells they request from upstream
  before finalizing the output. This is no longer done.

- vtkUniform grids previously supports blanking through member arrays
  vtkUniformGrid::CellVisibility and
  vtkUniformGrid::PointVisibility. These arrays are removed and the
  blanking functionality are supported through the new ghost arrays
  instead.

- the "vtkGhostLevel" arrays for cell and point data are renamed by
  vtkDataSetAttributes::GhostArrayName().

Change-Id: If5ff516c0fb0b321aa9e0fcc8cf7e74f05e2b250