class_docstr: Abstract base class for Visual-specific filters to implement a
  primitive-picking mode.
  
  Subclasses must (and usually only need to) implement
  :py:meth:`_get_picking_ids`.
class_docstr_tok: ["Abstract","base","class","for","Visual-specific","filters","to","implement","a","primitive-picking","mode",".","Subclasses","must","(","and","usually","only","need","to",")","implement",":","py",":","meth",":","`","_get_picking_ids","`","."]
docstr: Pack an array of uint32 primitive ids into float32 RGBA colors.
docstr_tok: ["Pack","an","array","of","uint32","primitive","ids","into","float32","RGBA","colors","."]
code: def _pack_ids_into_rgba(ids):
      """Pack an array of uint32 primitive ids into float32 RGBA colors."""
      if ids.dtype != np.uint32:
          raise ValueError(f"ids must be uint32, got {ids.dtype}")
  
      return np.divide(
          ids.view(np.uint8).reshape(-1, 4), 255, dtype=np.float32
      )
  
imports: from abc import ABCMeta, abstractmethod
  import numpy
  from vispy.gloo import VertexBuffer
  from ..shaders import Function
label_desc: Use image node_id 4 for calling the PrimitivePickingFilter obj's underlying member method code with example usage: obj._pack_ids_into_rgba(ids) and returns: np