title: Convert python wand hdr image to numpy array and back
body: <p>Python wand supports converting images directly to a Numpy arrays, such as can be seen in <a href="https://stackoverflow.com/questions/47599012/how-to-convert-a-wand-image-object-to-numpy-array-without-opencv">related questions</a>.</p>
  <p>However, when doing this for <code>.hdr</code> (high dynamic range) images, this appears to compress the image to 0/255. As a result, converting from a Python Wand image to a np array and back drastically reduces file size/quality.</p>
  <pre><code># Without converting to a numpy array 
  img = Image('image.hdr') # Open with Python Wand Image
  img.save(filename='test.hdr') # Save with Python wand
  </code></pre>
  <p>Running this opens the image and saves it again, which creates a file with a size of 41.512kb. However, if we convert it to numpy before saving it again..</p>
  <pre><code># With converting to a numpy array 
  img = Image(filename=os.path.join(path, 'N_SYNS_89.hdr')) # Open with Python Wand Image
  arr = np.asarray(img, dtype='float32') # convert to np array
  img = Image.from_array(arr)            # convert back to Python Wand Image
  img.save(filename='test.hdr') # Save with Python wand
  </code></pre>
  <p>This results in a file with a size of 5.186kb.</p>
  <p>Indeed, if I look at <code>arr.min()</code> and <code>arr.max()</code> I see that the min and max values for the numpy array are 0 and 255. If I open the <code>.hdr</code> image with cv2 however as an numpy array, the range is much higher.</p>
  <pre><code>img = cv2.imread('image.hdr'), -1)
  img.min() # returns 0
  img.max() # returns 868352.0 
  </code></pre>
  <p>Is there a way to convert back and forth between numpy arrays and Wand images without this loss?</p>