public Object pixelData(PixelDataJob pdj) throws Throwable {

    if (!reader.isMinMaxSet() && !noStatsInfo) {
      // Parse the binary data to generate min/max values
      int seriesCount = reader.getSeriesCount();
      for (int series = 0; series < seriesCount; series++) {
        ImportSize size = new ImportSize(fileName, pixList.get(series), reader.getDimensionOrder());
        Pixels pixels = pixList.get(series);
        MessageDigest md = parseData(fileName, series, size);
        if (md != null) {
          final String s = Hex.encodeHexString(md.digest());
          pixels.setSha1(store.toRType(s));
        }
      }
    }

    // As we're in metadata-only mode on we need to
    // tell the server which Image matches which series.
    int series = 0;
    for (final Pixels pixels : pixList) {
      store.setPixelsFile(pixels.getId().getValue(), fileName, repoUuid);
      pixels.getImage().setSeries(store.toRType(series++));
    }

    for (final Image image : imageList) {
      image.unloadAnnotationLinks();
    }

    store.updatePixels(pixList);

    if (!reader.isMinMaxSet() && !noStatsInfo) {
      store.populateMinMax();
    }

    return null;
  }