class_docstr: Class for SPM99 variant of basic Analyze header
  
  SPM99 variant adds the following to basic Analyze format:
  
  * voxel origin;
  * slope scaling of data.
class_docstr_tok: ["Class","for","SPM99","variant","of","basic","Analyze","header","SPM99","variant","adds","the","following","to","basic","Analyze","format",":","*","voxel","origin",";","*","slope","scaling","of","data","."]
code: def _chk_origin(hdr, fix=False):
      rep = Report(HeaderDataError)
      origin = hdr["origin"][0:3]
      dims = hdr["dim"][1:4]
      if not np.any(origin) or (
          np.all(origin > -dims) and np.all(origin < dims * 2)
      ):
          return hdr, rep
      rep.problem_level = 20
      rep.problem_msg = "very large origin values relative to dims"
      if fix:
          rep.fix_msg = "leaving as set, ignoring for affine"
      return hdr, rep
  
imports: import warnings
  from io import BytesIO
  import numpy
  from .None import analyze
  from .batteryrunners import Report
  from .optpkg import optional_package
  from .spatialimages import HeaderDataError, HeaderTypeError
label_desc: Use image node_id 4 for calling the Spm99AnalyzeHeader obj's underlying member method code with example usage: obj._chk_origin(hdr, fix) and returns: hdr,  rep, hdr,  rep