docs: def get_qpimage_raw(self, idx=0):
          """Return QPImage without background correction"""
          # Load experimental data
          with SingleTifPhasics._get_tif(self.path) as tf:
              # page 0 contains intensity
              # page 1 contains phase in nm
              # page 2 contains phase in wavelengths
              # Intensity:
              inttags = tf.pages[0].tags
              imin = inttags["61243"].value
              imax = inttags["61242"].value
              isamp = inttags["max_sample_value"].value
              blc = INTENSITY_BASELINE_CLAMP
              inten = tf.pages[0].asarray() * (imax - imin) / isamp + imin - blc
              inten[inten < 0] = 0
              # Phase
              # The SID4Bio records two phase images, one in wavelengths and
              # one in nanometers. Surprisingly, these two phase images are
              # not derived from the same recording. The first image (pages[1])
              # (in wavelengths) matches the intensity image (pages[0]). The
              # second image (pages[2]) is recorded at a different time point.
              # Initially, I thought it would be best to compute the phase
              # directly from the measured value in nanometers (pages[2]) using
              # the known wavelength given by the qpformat user. However, since
              # phase and amplitude won't match up in that case, the wavelength
              # phase image (pages[1]) has to be used. Since phasics uses its own
              # wavelength (set by the user in the acquisition/extraction
              # software) which might be wrong, I decided to first compute
              # the phase in nanometers from tf.pages[1] using the phasics
              # wavelength and then proceed as before, computing the phase
              # in radians using the correct, user-given wavelength.
              wl_phasics = self._get_wavelength(self.path)
              if not np.isnan(wl_phasics):
                  # proceed with phase in wavelengths
                  phaid = 1
              else:
                  # proceed with phase in nanometers
                  phaid = 2
              phatags = tf.pages[phaid].tags
              pmin = phatags["61243"].value
              pmax = phatags["61242"].value
              psamp = phatags["max_sample_value"].value
              if psamp == 0 or pmin == pmax:
                  # no phase data
                  pha = np.zeros_like(inten)
              else:
                  # optical path difference
                  opd = tf.pages[phaid].asarray() * (pmax - pmin) / psamp + pmin
                  if phaid == 1:  # convert [wavelengths] to [nm]
                      assert not np.isnan(wl_phasics)
                      opd *= wl_phasics * 1e9
                  # convert from [nm] to [rad]
                  pha = opd / (self.meta_data["wavelength"] * 1e9) * 2 * np.pi
  
          meta_data = copy.copy(self.meta_data)
          if "time" not in meta_data:
              meta_data["time"] = self.get_time()
          qpi = qpimage.QPImage(data=(pha, inten),
                                which_data="phase,intensity",
                                meta_data=meta_data,
                                h5dtype=self.as_type)
          # set identifier
          qpi["identifier"] = self.get_identifier()
          return qpi