Skip to main content

jump-image-datasets

Tests PyPI version Publish to PyPI

jump-image-datasets provides packaged JUMP pilot metadata and utilities for downloading image files from metadata tables.

Install

Install from PyPI

pip install jump-image-datasets

Install from PyPI for stable, versioned releases.

Local development with uv

uv venv
uv sync --group test

Editable install

uv pip install -e .

Install from the GitHub repo with pip

pip install "git+https://github.com/WayScience/jump_image_data_downloader.git"

Install from GitHub if you want the latest unreleased changes.

AWS CLI requirement for CPG0016 analysis CSV downloads

Bulk downloading CPG0016 workspace/analysis CSVs with CPG0016AnalysisCSVDownloader requires the AWS CLI to be installed and available as aws on your PATH. The downloader uses the AWS CLI transfer manager for faster recursive CSV downloads from the public S3 bucket.

Usage

from jump_image_datasets.jump_pilot import image_downloader, image_metadata

# Load packaged metadata parquet as a DataFrame.
metadata_df = image_metadata.load_metadata()

# Download a small subset.
summary = image_downloader.download_images_with_metadata(
    df=metadata_df.head(10),
    url_column="Metadata_FileUrl",
    default_output_dir="downloaded_jump_pilot_images",
    parallel=True,
    workers=8,
)
print(summary)
from jump_image_datasets.cpg0016 import CPG0016LoadDataWithIllumDownloader

downloader = CPG0016LoadDataWithIllumDownloader(
    csv_download_dir="downloaded_cpg0016_csvs",
)

metadata_df = downloader.get_dataframe()

filtered_df = metadata_df.iloc[:10].copy()
filtered_df["OutputDir"] = (
    filtered_df["Metadata_Plate"].astype(str).radd("downloaded_cpg0016_images/")
)

downloader.download_illumination_files(
    dataframe=filtered_df,
    output_dir_column="OutputDir",
)

downloader.download_files_from_column(
    dataframe=filtered_df,
    column_name="URL_OrigDNA",
    output_dir_column="OutputDir",
)
from jump_image_datasets.cpg0016 import CPG0016AnalysisCSVDownloader

# Discover all CPG0016 analysis CSVs from S3 and download them into an
# organized local directory tree.
downloader = CPG0016AnalysisCSVDownloader(
    output_dir="downloaded_cpg0016_profiles",
    parallel=True,
    max_concurrent_requests=50,
)

# Omit csv_names to download all standard profile CSVs.
summary = downloader.download_all_csv_profiles()
print(summary)

# Or download only a selected subset.
nuclei_and_image_summary = downloader.download_all_csv_profiles(
    csv_names=["nuclei", "image"],
)
print(nuclei_and_image_summary)

# Later, reuse the existing local CSV tree without checking S3.
local_only_downloader = CPG0016AnalysisCSVDownloader(
    output_dir="downloaded_cpg0016_profiles",
    use_existing_csvs_without_s3_check=True,
)

# Iterate through one analysis folder at a time and choose your own operations,
# such as reading Image.csv and Nuclei.csv and merging them on ImageNumber.
for csv_set in local_only_downloader.iter_analysis_csv_sets():
    print(csv_set.folder_local_path)
    print(csv_set.image_local_path)
    print(csv_set.nuclei_local_path)
    break

For full runnable examples, see docs/download_images_examples.ipynb, docs/download_cpg0016_examples.ipynb, and docs/download_cpg0016_profiles_examples.ipynb.

Packaged metadata provenance

This repository ships a packaged metadata table at:

  • src/jump_image_datasets/jump_pilot/data/2020_11_04_CPJUMP1_all_plates.parquet

Why this file exists

The file is included so users can immediately load a stable JUMP pilot metadata table (via jump_image_datasets.jump_pilot.image_metadata) without requiring a separate data-fetch or preprocessing step.

How it was created

This parquet was generated from the JUMP Cell Painting Gallery using:

Upstream source pattern used by that notebook:

  • s3://cellpainting-gallery/cpg0000-jump-pilot/source_4/workspace/load_data_csv/2020_11_04_CPJUMP1/*/load_data.csv

Transform summary

The generation workflow in 2.download_image_metadata.ipynb:

  • Lists all per-plate load_data.csv files for run 2020_11_04_CPJUMP1 (51 files in the captured run) from public S3 (anon=True).
  • Reads each plate CSV, appends provenance columns:
    • source_plate (plate ID parsed from path)
    • source_s3_path (full S3 CSV path)
  • Concatenates all plate tables into one DataFrame.
  • Reshapes channel URL columns from wide to long using melt:
    • URL columns become Metadata_ChannelURLName
    • URL values become Metadata_FileUrl
  • Adds normalized channel/stain annotations by mapping URL column names:
    • Metadata_ChannelName: ER, AGP, Mito, DNA, RNA, BF, HZ_BF, LZ_BF
    • Metadata_StainName: corresponding stain labels (or NA for brightfield channels)
  • Derives Metadata_Filename from the final path component of Metadata_FileUrl.
  • Writes parquet with index=False as data/2020_11_04_CPJUMP1_all_plates.parquet (captured shape: (1495400, 32)).

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jump_image_datasets-0.3.0.tar.gz (14.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jump_image_datasets-0.3.0-py3-none-any.whl (14.3 MB view details)

Uploaded Python 3

File details

Details for the file jump_image_datasets-0.3.0.tar.gz.

File metadata

  • Download URL: jump_image_datasets-0.3.0.tar.gz
  • Upload date:
  • Size: 14.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for jump_image_datasets-0.3.0.tar.gz
Algorithm Hash digest
SHA256 9933cc17ba3bb14751a87740ceaf71d244f5df032055df31794370380f4e7ccb
MD5 2dcd073c767484c8b9ce9eb06b9bbd30
BLAKE2b-256 1388690adc59750e3aed861641f71efe3a83e5131e852c3129dbc39f37865058

See more details on using hashes here.

Provenance

The following attestation bundles were made for jump_image_datasets-0.3.0.tar.gz:

Publisher: publish.yml on WayScience/jump_image_data_downloader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jump_image_datasets-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for jump_image_datasets-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2e65742fe1bc12566aeb8b56baaa263db17c66d93a58a30991594e66488ae13f
MD5 2c7d8cac55ea9a164126a55ed446c731
BLAKE2b-256 a09ac4686297b2cb1328e0797996e744ac1f9271595990950e121e7151e99dc2

See more details on using hashes here.

Provenance

The following attestation bundles were made for jump_image_datasets-0.3.0-py3-none-any.whl:

Publisher: publish.yml on WayScience/jump_image_data_downloader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page