{
  "schema_version": "1",
  "generated_at": "2026-05-27T18:39:32.223Z",
  "plugins": [
    {
      "plugin_id": "can-classifier",
      "name": "CAN Classifier — 2D classification",
      "description": "Convolutional auto-encoder-based 2D classification of particle stacks. Reads .mrcs + .star produced by the stack-maker plugin; emits class averages + per-particle assignments + FRC curves.\n",
      "category": "two_d_classification",
      "backend_id": "can-classifier",
      "author": "Magellon Team",
      "license": "MIT",
      "tier": "verified",
      "tags": [
        "2d-classification",
        "can",
        "autoencoder",
        "cryo-em"
      ],
      "latest_version": "0.1.0",
      "versions": [
        {
          "version": "0.1.0",
          "archive_id": "019e1d2d-a676-784b-8ad0-66379764a0db",
          "url": "/assets/plugins/can-classifier-0.1.0.mpn",
          "sha256": "dcda73d1429d3535eb6d99d901f154393038eeb18ee9b044789b845682b7032e",
          "size_bytes": 40091,
          "requires_sdk": ">=2.1,<3.0",
          "published_at": "2026-05-12T00:00:00Z"
        }
      ]
    },
    {
      "plugin_id": "ctf",
      "name": "CTFFIND4 — CTF estimation",
      "description": "CTF estimation via CTFFIND4. Consumes micrographs from the bus, shells out to the CTFFIND4 binary inside the container, writes the star file under the data plane.\n",
      "category": "ctf",
      "backend_id": "ctffind4",
      "author": "Magellon Team",
      "license": "MIT",
      "tier": "verified",
      "tags": [
        "ctf",
        "ctffind4",
        "cryo-em"
      ],
      "latest_version": "0.1.0",
      "versions": [
        {
          "version": "0.1.0",
          "archive_id": "019e1d2d-8be0-7c8c-b88d-5dd83b7f333b",
          "url": "/assets/plugins/ctf-0.1.0.mpn",
          "sha256": "f8f623caae6a4c4e42497fea04a12a13421209eaf0788072dc33592f8b43d242",
          "size_bytes": 22084198,
          "requires_sdk": ">=2.1,<3.0",
          "published_at": "2026-05-12T00:00:00Z"
        }
      ]
    },
    {
      "plugin_id": "fft",
      "name": "FFT — magnitude spectrum",
      "description": "Computes the magnitude spectrum FFT of an input MRC image and writes the result as a PNG. Pure-Python via numpy; no external binaries required. Pairs with the Magellon CTF and MotionCor plugins as the third \"always there\" image-processing surface.\n",
      "category": "fft",
      "backend_id": "fft",
      "author": "Magellon Team",
      "license": "MIT",
      "tier": "verified",
      "tags": [
        "fft",
        "cryo-em",
        "reference"
      ],
      "latest_version": "1.1.0",
      "versions": [
        {
          "version": "1.1.0",
          "archive_id": "019df937-9e46-740d-8996-3f99cbe6976d",
          "url": "/assets/plugins/fft-1.1.0.mpn",
          "sha256": "eeb4b87d93b60fcc76eb19a0a61e1042c38faa3b33f06b344c12fc6e843f3406",
          "size_bytes": 321022,
          "requires_sdk": ">=2.1,<3.0",
          "published_at": "2026-05-26T00:00:00Z"
        }
      ]
    },
    {
      "plugin_id": "magellon-sample-plugin",
      "name": "Magellon Sample Plugin",
      "description": "Reference fixture for end-to-end install-pipeline testing. Pure Python with zero runtime dependencies — installs in seconds via uv. Not intended for real cryo-EM workloads; use FFT, CTF, MotionCor archives for that.\n",
      "category": "fft",
      "backend_id": "magellon-sample",
      "author": "Magellon Team",
      "license": "MIT",
      "tier": "verified",
      "tags": [
        "test-fixture",
        "reference"
      ],
      "latest_version": "0.1.0",
      "versions": [
        {
          "version": "0.1.0",
          "archive_id": "019dd607-1ab0-7658-a090-000000000001",
          "url": "/assets/plugins/magellon-sample-plugin-0.1.0.mpn",
          "sha256": "50f96eb4f9e92be53f00cf1e3b45ba2843ca883761a8791c89178637a7d6b050",
          "size_bytes": 4224,
          "requires_sdk": ">=2.0,<3.0",
          "published_at": "2026-04-29T00:00:00Z"
        }
      ]
    },
    {
      "plugin_id": "motioncor",
      "name": "MotionCor2 — beam-induced motion correction",
      "description": "MotionCor2-based beam-induced motion correction for cryo-EM movies. Pins ~11 GB host RAM; production deployments need at least a g4dn.2xlarge per the operator sizing notes.\n",
      "category": "motioncor",
      "backend_id": "motioncor2",
      "author": "Magellon Team",
      "license": "MIT",
      "tier": "verified",
      "tags": [
        "motioncor",
        "motion-correction",
        "gpu",
        "cryo-em"
      ],
      "latest_version": "0.1.0",
      "versions": [
        {
          "version": "0.1.0",
          "archive_id": "019e1d2d-9614-7f2a-ab23-542206086d7c",
          "url": "/assets/plugins/motioncor-0.1.0.mpn",
          "sha256": "b94179153b95f48e9bc511b14c08708d5cec1388bc2698bbf1ea4c8d08bcd321",
          "size_bytes": 11909120,
          "requires_sdk": ">=2.1,<3.0",
          "published_at": "2026-05-12T00:00:00Z"
        }
      ]
    },
    {
      "plugin_id": "ptolemy",
      "name": "Ptolemy — square + hole detection",
      "description": "Ptolemy ONNX models for low-mag square detection + med-mag hole detection. One plugin process serves both categories via separate consumer registrations; manifest declares the square-detection surface as the public face.\n",
      "category": "square_detection",
      "backend_id": "ptolemy",
      "author": "Magellon Team",
      "license": "MIT",
      "tier": "verified",
      "tags": [
        "ptolemy",
        "square-detection",
        "hole-detection",
        "onnx",
        "cryo-em"
      ],
      "latest_version": "0.1.0",
      "versions": [
        {
          "version": "0.1.0",
          "archive_id": "019e1d2d-a0d9-7dd3-a46a-6ad51a753b0d",
          "url": "/assets/plugins/ptolemy-0.1.0.mpn",
          "sha256": "941213f87a4b237c9da0eb4b149eb960298b4eace821e261830cf43cd03c714b",
          "size_bytes": 5795029,
          "requires_sdk": ">=2.1,<3.0",
          "published_at": "2026-05-12T00:00:00Z"
        }
      ]
    },
    {
      "plugin_id": "stack-maker",
      "name": "Stack Maker — particle extraction",
      "description": "Extracts boxed particles from a micrograph given picker coordinates; emits RELION-style .mrcs + .star + companion .json. Pure-numpy compute; no external binaries.\n",
      "category": "particle_extraction",
      "backend_id": "stack-maker",
      "author": "Magellon Team",
      "license": "MIT",
      "tier": "verified",
      "tags": [
        "particle-extraction",
        "stack-maker",
        "cryo-em"
      ],
      "latest_version": "0.1.0",
      "versions": [
        {
          "version": "0.1.0",
          "archive_id": "019e1d2d-a3fa-7890-a2cd-304177c8662e",
          "url": "/assets/plugins/stack-maker-0.1.0.mpn",
          "sha256": "b5a3ab371bf05c3b90cc407e3398054d1e44bc4114e739cc3cbfd857040bb30a",
          "size_bytes": 20900,
          "requires_sdk": ">=2.1,<3.0",
          "published_at": "2026-05-12T00:00:00Z"
        }
      ]
    },
    {
      "plugin_id": "template-picker",
      "name": "Template Picker — particle picking",
      "description": "FFT-correlation template-matching particle picker. External broker version of the in-process pp/template_picker; deploy this when picker scaling is needed across multiple workers. Two backends now serve PARTICLE_PICKING — operators pick which one to dispatch to.\n",
      "category": "particle_picking",
      "backend_id": "template-picker",
      "author": "Magellon Team",
      "license": "MIT",
      "tier": "verified",
      "tags": [
        "template-picker",
        "particle-picking",
        "cryo-em"
      ],
      "latest_version": "0.1.0",
      "versions": [
        {
          "version": "0.1.0",
          "archive_id": "019df937-9fa8-7c1e-824f-112c7d296c0d",
          "url": "/assets/plugins/template-picker-0.1.0.mpn",
          "sha256": "42ab7304e1b7ccee9a53874fa284fca04be0ac1f1d4ffc832c5c04a889fa7638",
          "size_bytes": 171050,
          "requires_sdk": ">=2.1,<3.0",
          "published_at": "2026-05-05T00:00:00Z"
        }
      ]
    },
    {
      "plugin_id": "topaz",
      "name": "Topaz — particle picking + denoise",
      "description": "Topaz CNN-based particle picking (and the companion micrograph denoiser). Two categories share one plugin process — backend_id reflects the picking surface; the denoise category is served by the same image via a second consumer registration.\n",
      "category": "topaz_particle_picking",
      "backend_id": "topaz",
      "author": "Magellon Team",
      "license": "MIT",
      "tier": "verified",
      "tags": [
        "topaz",
        "particle-picking",
        "denoise",
        "cnn",
        "gpu",
        "cryo-em"
      ],
      "latest_version": "0.1.0",
      "versions": [
        {
          "version": "0.1.0",
          "archive_id": "019e1d2d-9d12-7cb9-89d2-0c024e52b7c8",
          "url": "/assets/plugins/topaz-0.1.0.mpn",
          "sha256": "793c071eaa1252b186fd53390a68a6228efcecd1ad03cf9f417cb30785fce6b3",
          "size_bytes": 15699354,
          "requires_sdk": ">=2.1,<3.0",
          "published_at": "2026-05-12T00:00:00Z"
        }
      ]
    }
  ]
}
