display_name: napari builtins
name: napari

contributions:
  commands:
    # readers
    - id: napari.get_reader
      python_name: napari_builtins.io:napari_get_reader
      title: Builtin Reader
    - id: napari.get_py_reader
      python_name: napari_builtins.io:napari_get_py_reader
      title: Builtin Python Reader

    # writers
    - id: napari.write_image
      python_name: napari_builtins.io:napari_write_image
      title: napari built-in image writer
    - id: napari.write_labels
      python_name: napari_builtins.io:napari_write_labels
      title: napari built-in label field writer
    - id: napari.write_points
      python_name: napari_builtins.io:napari_write_points
      title: napari built-in points writer
    - id: napari.write_shapes
      python_name: napari_builtins.io:napari_write_shapes
      title: napari built-in shapes writer
    - id: napari.write_directory
      python_name: napari_builtins.io:write_layer_data_with_plugins
      title: napari built-in save to folder

    # samples
    - id: napari.data.astronaut
      title: Generate astronaut sample
      python_name: napari_builtins._skimage_data:astronaut
    - id: napari.data.binary_blobs
      title: Generate binary_blobs sample
      python_name: napari_builtins._skimage_data:binary_blobs
    - id: napari.data.binary_blobs_3D
      title: Generate binary_blobs_3D sample
      python_name: napari_builtins._skimage_data:binary_blobs_3D
    - id: napari.data.brain
      title: Generate brain sample
      python_name: napari_builtins._skimage_data:brain
    - id: napari.data.brick
      title: Generate brick sample
      python_name: napari_builtins._skimage_data:brick
    - id: napari.data.camera
      title: Generate camera sample
      python_name: napari_builtins._skimage_data:camera
    - id: napari.data.cat
      title: Generate cat sample
      python_name: napari_builtins._skimage_data:cat
    - id: napari.data.cell
      title: Generate cell sample
      python_name: napari_builtins._skimage_data:cell
    - id: napari.data.cells3d
      title: Generate cells3d sample
      python_name: napari_builtins._skimage_data:cells3d
    - id: napari.data.checkerboard
      title: Generate checkerboard sample
      python_name: napari_builtins._skimage_data:checkerboard
    - id: napari.data.clock
      title: Generate clock sample
      python_name: napari_builtins._skimage_data:clock
    - id: napari.data.coffee
      title: Generate coffee sample
      python_name: napari_builtins._skimage_data:coffee
    - id: napari.data.coins
      title: Generate coins sample
      python_name: napari_builtins._skimage_data:coins
    - id: napari.data.colorwheel
      title: Generate colorwheel sample
      python_name: napari_builtins._skimage_data:colorwheel
    - id: napari.data.eagle
      title: Generate eagle sample
      python_name: napari_builtins._skimage_data:eagle
    - id: napari.data.grass
      title: Generate grass sample
      python_name: napari_builtins._skimage_data:grass
    - id: napari.data.gravel
      title: Generate gravel sample
      python_name: napari_builtins._skimage_data:gravel
    - id: napari.data.horse
      title: Generate horse sample
      python_name: napari_builtins._skimage_data:horse
    - id: napari.data.hubble_deep_field
      title: Generate hubble_deep_field sample
      python_name: napari_builtins._skimage_data:hubble_deep_field
    - id: napari.data.human_mitosis
      title: Generate human_mitosis sample
      python_name: napari_builtins._skimage_data:human_mitosis
    - id: napari.data.immunohistochemistry
      title: Generate immunohistochemistry sample
      python_name: napari_builtins._skimage_data:immunohistochemistry
    - id: napari.data.kidney
      title: Generate kidney sample
      python_name: napari_builtins._skimage_data:kidney
    - id: napari.data.lfw_subset
      title: Generate lfw_subset sample
      python_name: napari_builtins._skimage_data:lfw_subset
    - id: napari.data.lily
      title: Generate lily sample
      python_name: napari_builtins._skimage_data:lily
    - id: napari.data.microaneurysms
      title: Generate microaneurysms sample
      python_name: napari_builtins._skimage_data:microaneurysms
    - id: napari.data.moon
      title: Generate moon sample
      python_name: napari_builtins._skimage_data:moon
    - id: napari.data.page
      title: Generate page sample
      python_name: napari_builtins._skimage_data:page
    - id: napari.data.retina
      title: Generate retina sample
      python_name: napari_builtins._skimage_data:retina
    - id: napari.data.rocket
      title: Generate rocket sample
      python_name: napari_builtins._skimage_data:rocket
    - id: napari.data.shepp_logan_phantom
      title: Generate shepp_logan_phantom sample
      python_name: napari_builtins._skimage_data:shepp_logan_phantom
    - id: napari.data.skin
      title: Generate skin sample
      python_name: napari_builtins._skimage_data:skin
    - id: napari.data.text
      title: Generate text sample
      python_name: napari_builtins._skimage_data:text
    - id: napari.data.balls_2d
      title: Generate 2d_balls sample
      python_name: napari_builtins._ndims_balls:labeled_particles2d
    - id: napari.data.balls_3d
      title: Generate 3d_balls sample
      python_name: napari_builtins._ndims_balls:labeled_particles3d

    # widgets
    - id: napari.widgets.features_table
      title: Features table widget
      python_name: napari_builtins._qt.features_table:FeaturesTable

    # others
    - id: napari.toggle_shape_measures
      title: Toggle shape dimensions measurement
      python_name: napari_builtins._measure_shapes:toggle_shape_measures
      enablement: active_layer_type == 'shapes'

  readers:
    - command: napari.get_reader
      accepts_directories: true
      filename_patterns:
        [
          '*.3fr', '*.arw', '*.avi', '*.avs', '*.bay', '*.bif', '*.bmp',
          '*.bmq', '*.bsdf', '*.btf', '*.bufr', '*.bw', '*.cap', '*.cine',
          '*.cr2', '*.crw', '*.cs1', '*.csv', '*.ct', '*.cur', '*.cut', '*.dc2',
          '*.dcm', '*.dcr', '*.dcx', '*.dds', '*.dicom', '*.dng', '*.drf',
          '*.dsc', '*.ecw', '*.eer', '*.emf', '*.eps', '*.erf', '*.exr',
          '*.fff', '*.fit', '*.fits', '*.flc', '*.fli', '*.fpx', '*.ftc',
          '*.fts', '*.ftu', '*.fz', '*.g3', '*.gbr', '*.gdcm', '*.gel', '*.gif',
          '*.gipl', '*.grib', '*.h264', '*.h5', '*.hdf', '*.hdf5', '*.hdp',
          '*.hdr', '*.ia', '*.icns', '*.ico', '*.iff', '*.iim', '*.iiq', '*.im',
          '*.img', '*.img.gz', '*.ipl', '*.j2c', '*.j2k', '*.jfif', '*.jif',
          '*.jng', '*.jp2', '*.jpc', '*.jpe', '*.jpeg', '*.jpf', '*.jpg',
          '*.jpx', '*.jxr', '*.k25', '*.kc2', '*.kdc', '*.koa', '*.lbm',
          '*.lfp', '*.lfr', '*.lsm', '*.mdc', '*.mef', '*.mgh', '*.mha',
          '*.mhd', '*.mic', '*.mkv', '*.mnc', '*.mnc2', '*.mos', '*.mov',
          '*.mp4', '*.mpeg', '*.mpg', '*.mpo', '*.mri', '*.mrw', '*.msp',
          '*.ndpi', '*.nef', '*.nhdr', '*.nia', '*.nii', '*.nii.gz', '*.npy',
          '*.npz', '*.nrrd', '*.nrw', '*.ome.tif', '*.orf', '*.pbm', '*.pcd',
          '*.pcoraw', '*.pct', '*.pcx', '*.pef', '*.pfm', '*.pgm', '*.pic',
          '*.pict', '*.png', '*.ppm', '*.ps', '*.psd', '*.ptif', '*.ptiff',
          '*.ptx', '*.pxn', '*.pxr', '*.qpi', '*.qptiff', '*.qtk', '*.raf',
          '*.ras', '*.raw', '*.rdc', '*.rgb', '*.rgba', '*.rw2', '*.rwl',
          '*.rwz', '*.scn', '*.seq', '*.sgi', '*.sr2', '*.srf', '*.srw',
          '*.sti', '*.stk', '*.svs', '*.swf', '*.targa', '*.tf2', '*.tf8',
          '*.tga', '*.tif', '*.tiff', '*.vtk', '*.wap', '*.wbm', '*.wbmp',
          '*.wdp', '*.webm', '*.webp', '*.wmf', '*.wmv', '*.xbm', '*.xpm',
          '*.zarr', '*.zif'
        ]
    - command: napari.get_py_reader
      filename_patterns:
            ['*.py']

  writers:
    - command: napari.write_image
      display_name: lossless
      layer_types: ["image"]
      filename_extensions:
        [
          ".tif", ".tiff", ".png", ".bmp", ".bsdf", ".bw", ".eps", ".gif",
          ".icns", ".ico", ".im", ".lsm", ".npz", ".pbm", ".pcx", ".pgm",
          ".ppm", ".ps", ".rgb", ".rgba", ".sgi", ".stk", ".tga",
        ]

    - command: napari.write_image
      display_name: lossy
      layer_types: ["image"]
      filename_extensions:
        [
          ".jpg", ".jpeg", ".j2c", ".j2k", ".jfif", ".jp2", ".jpc", ".jpe",
          ".jpf", ".jpx", ".mpo",
        ]

    - command: napari.write_labels
      display_name: labels
      layer_types: ["labels"]
      filename_extensions:
        [
          ".tif", ".tiff", ".bsdf", ".im", ".lsm", ".npz", ".pbm", ".pcx",
          ".pgm", ".ppm", ".stk",
        ]

    - command: napari.write_points
      display_name: points
      layer_types: ["points"]
      filename_extensions: [".csv"]

    - command: napari.write_shapes
      display_name: shapes
      layer_types: ["shapes"]
      filename_extensions: [".csv"]

    - command: napari.write_directory
      display_name: Save to Folder
      layer_types: ["image*", "labels*", "points*", "shapes*"]

  sample_data:
    - display_name: Astronaut (RGB)
      key: astronaut
      command: napari.data.astronaut
    - display_name: Balls
      key: balls_2d
      command: napari.data.balls_2d
    - display_name: Balls (3D)
      key: balls_3d
      command: napari.data.balls_3d
    - display_name: Binary Blobs
      key: binary_blobs
      command: napari.data.binary_blobs
    - display_name: Binary Blobs (3D)
      key: binary_blobs_3D
      command: napari.data.binary_blobs_3D
    - display_name: Brain (3D)
      key: brain
      command: napari.data.brain
    - display_name: Brick
      key: brick
      command: napari.data.brick
    - display_name: Camera
      key: camera
      command: napari.data.camera
    - display_name: Cat (RGB)
      key: cat
      command: napari.data.cat
    - display_name: Cell
      key: cell
      command: napari.data.cell
    - display_name: Cells (3D+2Ch)
      key: cells3d
      command: napari.data.cells3d
    - display_name: Checkerboard
      key: checkerboard
      command: napari.data.checkerboard
    - display_name: Clock
      key: clock
      command: napari.data.clock
    - display_name: Coffee (RGB)
      key: coffee
      command: napari.data.coffee
    - display_name: Coins
      key: coins
      command: napari.data.coins
    - display_name: Colorwheel (RGB)
      key: colorwheel
      command: napari.data.colorwheel
    - display_name: Eagle
      key: eagle
      command: napari.data.eagle
    - display_name: Grass
      key: grass
      command: napari.data.grass
    - display_name: Gravel
      key: gravel
      command: napari.data.gravel
    - display_name: Horse
      key: horse
      command: napari.data.horse
    - display_name: Hubble Deep Field (RGB)
      key: hubble_deep_field
      command: napari.data.hubble_deep_field
    - display_name: Human Mitosis
      key: human_mitosis
      command: napari.data.human_mitosis
    - display_name: Immunohistochemistry (RGB)
      key: immunohistochemistry
      command: napari.data.immunohistochemistry
    - display_name: Kidney (3D+3Ch)
      key: kidney
      command: napari.data.kidney
    - display_name: Labeled Faces in the Wild
      key: lfw_subset
      command: napari.data.lfw_subset
    - display_name: Lily (4Ch)
      key: lily
      command: napari.data.lily
    - display_name: Microaneurysms
      key: microaneurysms
      command: napari.data.microaneurysms
    - display_name: Moon
      key: moon
      command: napari.data.moon
    - display_name: Page
      key: page
      command: napari.data.page
    - display_name: Retina (RGB)
      key: retina
      command: napari.data.retina
    - display_name: Rocket (RGB)
      key: rocket
      command: napari.data.rocket
    - display_name: Shepp Logan Phantom
      key: shepp_logan_phantom
      command: napari.data.shepp_logan_phantom
    - display_name: Skin (RGB)
      key: skin
      command: napari.data.skin
    - display_name: Text
      key: text
      command: napari.data.text

  widgets:
    - command: napari.widgets.features_table
      display_name: Features table widget

  menus:
    napari/layers/visualize:
      - command: napari.widgets.features_table
    napari/layers/measure:
      - command: napari.toggle_shape_measures
