BUG: Fix matrix check rejecting NIFTI sform for small voxels
BUG: Fix matrix check rejecting NIFTI sform for small voxels

Fixes #2674

NIFTI sform matrices were being called non-invertible if their determinant was <
10-5. Because the determinant scales with the product of the voxel spacings, any
image with voxels smaller than about 20 microns would not have its direction
cosines read from the sform. This caused errors when the header sform was valid,
but the qform transform was not available as a fallback.

Invertibility is now tested by checking the condition number of the singular
value decomposition. If this is above the float epsilon, the matrix will be
considered invertible.

An alternative solution would be to consider a matrix invertible whenever the
determinant is > 0, which is what itkMatrix does. The condition number test as
implemented is a bit more conservative, but should allow spacings down to a
nanometer or less.

thewtex/ITK,vfonov/ITK,Kitware/ITK,Kitware/ITK,Kitware/ITK,Kitware/ITK,richardbeare/ITK,thewtex/ITK,vfonov/ITK,richardbeare/ITK,BRAINSia/ITK,vfonov/ITK,hjmjohnson/ITK,vfonov/ITK,vfonov/ITK,thewtex/ITK,BRAINSia/ITK,vfonov/ITK,BRAINSia/ITK,richardbeare/ITK,InsightSoftwareConsortium/ITK,BRAINSia/ITK,hjmjohnson/ITK,InsightSoftwareConsortium/ITK,InsightSoftwareConsortium/ITK,thewtex/ITK,thewtex/ITK,thewtex/ITK,vfonov/ITK,BRAINSia/ITK,InsightSoftwareConsortium/ITK,richardbeare/ITK,Kitware/ITK,hjmjohnson/ITK,hjmjohnson/ITK,Kitware/ITK,Kitware/ITK,thewtex/ITK,hjmjohnson/ITK,InsightSoftwareConsortium/ITK,BRAINSia/ITK,hjmjohnson/ITK,vfonov/ITK,BRAINSia/ITK,hjmjohnson/ITK,vfonov/ITK,richardbeare/ITK,richardbeare/ITK,InsightSoftwareConsortium/ITK,InsightSoftwareConsortium/ITK,richardbeare/ITK