CherryPicker
A tool for visually inspecting image results.
Install / Use
/learn @HYLZ-2019/CherryPickerREADME
CherryPicker
CherryPicker is a web-based tool for visually inspecting and comparing image results from different methods. It is developed by Hylz, rewritten from the original PyQt5 version to a modern browser-based UI.
The input of the tool is several directories. Each directory corresponds to the results of a method. The user must ensure that each directory contains the same number of images, and that images in each directory (after sorting by pathname) are in the same order.
The tool displays results of different methods in the browser. The user can inspect the results, zoom in to see details, and select patches to highlight. Selected patches can be stitched in a dedicated HTML collage mode and exported as HTML or PDF (via browser print).
Features
- Web UI – runs in any modern browser, no Qt dependency
- Interactive crop selection – click or drag on the canvas to define crop regions
- Lock aspect ratio / size – keep the crop box consistent across frames
- Keyboard shortcuts –
A/Dnavigate frames,W/Scycle methods,Spacesaves a crop,Deleteremoves the last crop - Live crop preview – see the zoomed-in patch for every method in real time
- Crop history – view, jump to, or delete previously saved crops
- Stitch mode (HTML collage) – configure method layout / spacing / typography and preview in real time
- Export HTML & PDF – download a self-contained HTML file, or print to PDF directly from the browser
Usage
- Install dependencies.
conda create -n cherrypicker python=3.10
conda activate cherrypicker
pip install -r requirements.txt
- Edit
configs.yaml. Set themethodslist. Each method needsnameandpathkeys. Mark one method withis_gt: trueand one withis_ours: trueif you want ranking maps.
You can also specify a custom config file:
python app.py your_config.yaml
- Run the server.
python app.py
Then open http://localhost:8765 in your browser.
- Workflow.
- Browse frames with Prev/Next Frame (or
A/D). - Switch displayed methods with the toggle buttons or Prev/Next Methods (
W/S). - Draw a crop box on the canvas (left panel). Adjust with inputs or drag.
- Press Save Current Crop (
Space) to record the crop. - Repeat for all desired patches/frames.
- Click the top-left mode button to switch to 拼图模式.
- Configure method layout and stitch parameters in the left panel.
- Use 导出 HTML or 导出 PDF(打印).
- Browse frames with Prev/Next Frame (or
Configuration Reference
| Key | Description |
|-----|-------------|
| methods | List of {name, path, is_gt?, is_ours?} |
| display_rows, display_cols | How many methods to show at once |
| output_info_path | Where crop positions are saved (YAML) |
| output_crop_path | Directory for cropped images |
| output_ppt_path | Legacy PPT output path (optional) |
| crop_box_colors | Colour names for crop-box borders |
| patch_border_width | Border width around cropped patches |
| box_border_width | Border width of crop-box on full images |
| small_cnt | Legacy PPT option |
| groups_per_page | Legacy PPT option |
| slide_w, slide_h | Legacy PPT option |
| clear_previous | Whether to clear old outputs on startup |
| make_variance_map | Generate variance visualisation |
| make_ranking_map | Generate ranking visualisation |
