seg, num_obj = skimage.measure.label(seg > 0, return_num=True)

    # Determine if the segmentation should be saved.
    if i == rand:
        mscl.save_seg(
            'output/{0}_{1}_example_segmentation.png'.format(DATE, RBS), ph, seg)

    if num_obj > 0:
        # Compute the background information
        mean_bg = mscl.compute_mean_bg(ph, ff_ims[i])
        mean_bg = mean_bg / ip_dist**2
        exposure = mscl.scrape_metadata(metadata[i], return_date=False)

        # For shock experiments, link the markers.
        if EXP.lower() == 'shock':
            _markers = mscl.marker_parse(markers[i])
            _df = mscl.link_markers(_markers, seg, ff_ims[i])
            _df['flow_rate'] = FLOW_RATE
            _df.drop(['x_pos', 'y_pos', 'mask_label', 'label_cent_x',
                      'label_cent_y', 'dist'], axis=1, inplace=True)

        else:
            props = skimage.measure.regionprops(seg, ff_Ims[i])
            intensity = [prop.mean_intensity / ip_dist**2 for prop in props]
            area = [prop.area * ip_dist**2 for prop in props]
            _df = pd.DataFrame(dict(intensity=intensity, area=area))

        # Insert the other necessary information.
        _df['date'] = DATE
        _df['rbs'] = RBS
        _df['mean_bg'] = mean_bg
            seg)

    if num_obj > 0:
        # Compute the background information
        mean_bg = mscl.compute_mean_bg(ph, ff_ims[i])
        mean_bg = mean_bg / ip_dist**2
        exposure = mscl.scrape_metadata(metadata[i], return_date=False)

        # For shock experiments, link the markers.
        if EXP.lower() == 'shock':
            for m in markers:
                m_pos = m.split('/')[-1].split('.')[0]
                ph_pos = tif_files[i].split('/')[-1].split('_')[-1].split(
                    '.')[0]
                if m_pos == ph_pos:
                    _markers = mscl.marker_parse(m)
                    _df = mscl.link_markers(_markers, seg, ff_ims[i])
                    _df.drop([
                        'x_pos', 'y_pos', 'mask_label', 'label_cent_x',
                        'label_cent_y', 'dist'
                    ],
                             axis=1,
                             inplace=True)
                else:
                    props = skimage.measure.regionprops(seg, ff_ims[i])
                    intensity = [
                        prop.mean_intensity / ip_dist**2 for prop in props
                    ]
                    area = [prop.area * ip_dist**2 for prop in props]
                    _df = pd.DataFrame(dict(intensity=intensity, area=area))
                    _df['survival'] = False