Load data — Group B, Jul 23

from google.colab import drive
import sys

!pip install nucleus-cdk==0.6.0rc1 -q
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

from cdk import logging
log = logging.setup_logging(logging.INFO)

# Import the cdk platereader module
from cdk.instruments import platereader as pr
INFO:cdk.logging:Logging initialized
# Reinstall nucleus-cdk after runtime restart
!pip install nucleus-cdk==0.6.0rc1 -q
# Verify nucleus-cdk installation
import cdk
print(f"nucleus-cdk version: {cdk.__version__}")
nucleus-cdk version: 0.6.0rc1
import sys
sys.path
['/content', '/env/python', '/usr/lib/python312.zip', '/usr/lib/python3.12', '/usr/lib/python3.12/lib-dynload', '', '/usr/local/lib/python3.12/dist-packages', '/usr/lib/python3/dist-packages', '/usr/local/lib/python3.12/dist-packages/IPython/extensions', '/root/.ipython']
import sys
!pip install --upgrade scipy
from cdk.analysis.cell import microscopy as m
Requirement already satisfied: scipy in /usr/local/lib/python3.12/dist-packages (1.18.0)
Requirement already satisfied: numpy<2.8,>=2.0.0 in /usr/local/lib/python3.12/dist-packages (from scipy) (2.5.2)
WARNING:cellpose.vit:Could not import CPDINO, run `pip install git+https://github.com/facebookresearch/dinov3` to use CPDINO model

Load data — Group B, Jul 23

Will put a proper read parquet in the actual microscopy CDK code. Once that’s done there’s a load function that will also take a platemap (like the the platereader).

data = pd.read_parquet(
    "https://data.nucleus.engineering/microscopy/20260723-CSHL-GroupB_2026-07-23_16-31-25.188340.parquet",
    storage_options={
        "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 "
                      "(KHTML, like Gecko) Chrome/124.0 Safari/537.36"
    }
)

# data = data.merge(platemap, on="Well")
# data = data.sort_values(by=["Experiment", "Name", "Timepoint"])

Summary Plots

data_filtered = data[~data['Well'].str.contains('H14', na=False)]
# Use the filtered data for plotting
data = data_filtered
m.plot_summary(data)
<Figure size 1800x600 with 3 Axes>