def extract_pixels(x_coords, y_coords, z_coords)
      # FIXME: This method (along with some other methods in this class, doesn't
      # actually work for a pure Image instance. This should probably be
      # refactored (mix-in module instead more appropriate?)
      # Get image indices (nearest neighbour):
      column_indices, row_indices = coordinates_to_indices(x_coords, y_coords, z_coords)
      # Convert from vector indices to array indices:
      indices = indices_specific_to_general(column_indices, row_indices)
      # Use the determined image indices to extract corresponding pixel values:
      return @narray[indices].to_a.flatten
    end
def extract_pixels(x_coords, y_coords, z_coords)
      # FIXME: This method (along with some other methods in this class, doesn't
      # actually work for a pure Image instance. This should probably be
      # refactored (mix-in module instead more appropriate?)
      # Get image indices (nearest neighbour):
      column_indices, row_indices = coordinates_to_indices(x_coords, y_coords, z_coords)
      # Convert from vector indices to array indices:
      indices = indices_specific_to_general(column_indices, row_indices)
      # Use the determined image indices to extract corresponding pixel values:
      return @narray[indices].to_a.flatten
    end
Extracts pixels based on cartesian coordinate arrays.

 @note No interpolation is performed in the case of a given coordinate
   being located between pixel indices. In these cases a basic nearest
   neighbour algorithm is used.

 @param [NArray] x_coords a numerical array (vector) of pixel x coordinates
 @param [NArray] y_coords a numerical array (vector) of pixel y coordinates
 @param [NArray] z_coords a numerical array (vector) of pixel z coordinates
 @return [Array] the matched pixel values