From a33a849249550bf4e39e2e0f1537704782438f7e Mon Sep 17 00:00:00 2001
From: Paul McCarthy <pauldmccarthy@gmail.com>
Date: Mon, 18 May 2020 16:12:44 +0100
Subject: [PATCH] ENH: New Nifti.niftiDataType property

---
 fsl/data/constants.py | 30 ++++++++++++++++++++++++++++++
 fsl/data/image.py     |  5 +++++
 2 files changed, 35 insertions(+)

diff --git a/fsl/data/constants.py b/fsl/data/constants.py
index 5a870ccf0..00b60acb2 100644
--- a/fsl/data/constants.py
+++ b/fsl/data/constants.py
@@ -98,6 +98,36 @@ NIFTI_UNITS_PPM     = 40
 NIFTI_UNITS_RADS    = 48
 
 
+# NIFTI datatype codes
+NIFTI_DT_NONE          = 0
+NIFTI_DT_UNKNOWN       = 0
+NIFTI_DT_BINARY        = 1
+NIFTI_DT_UNSIGNED_CHAR = 2
+NIFTI_DT_SIGNED_SHORT  = 4
+NIFTI_DT_SIGNED_INT    = 8
+NIFTI_DT_FLOAT         = 16
+NIFTI_DT_COMPLEX       = 32
+NIFTI_DT_DOUBLE        = 64
+NIFTI_DT_RGB           = 128
+NIFTI_DT_ALL           = 255
+NIFTI_DT_UINT8         = 2
+NIFTI_DT_INT16         = 4
+NIFTI_DT_INT32         = 8
+NIFTI_DT_FLOAT32       = 16
+NIFTI_DT_COMPLEX64     = 32
+NIFTI_DT_FLOAT64       = 64
+NIFTI_DT_RGB24         = 128
+NIFTI_DT_INT8          = 256
+NIFTI_DT_UINT16        = 512
+NIFTI_DT_UINT32        = 768
+NIFTI_DT_INT64         = 1024
+NIFTI_DT_UINT64        = 1280
+NIFTI_DT_FLOAT128      = 1536
+NIFTI_DT_COMPLEX128    = 1792
+NIFTI_DT_COMPLEX256    = 2048
+NIFTI_DT_RGBA32        = 2304
+
+
 # NIFTI file intent codes
 NIFTI_INTENT_NONE          = 0
 NIFTI_INTENT_CORREL        = 2
diff --git a/fsl/data/image.py b/fsl/data/image.py
index eb9c468cc..f02023ff9 100644
--- a/fsl/data/image.py
+++ b/fsl/data/image.py
@@ -560,6 +560,11 @@ class Nifti(notifier.Notifier, meta.Meta):
         """Returns the NIFTI intent code of this image. """
         return self.header.get('intent_code', constants.NIFTI_INTENT_NONE)
 
+    @property
+    def niftiDataType(self):
+        """Returns the NIFTI data type code of this image. """
+        return self.header.get('datatype', constants.NIFTI_DT_UNKNOWN)
+
 
     @intent.setter
     def intent(self, val):
-- 
GitLab