imagej / imagej/imagej-common

Improve undo/redo functionality

Open
#3 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
12
Forks
15
PR merge metrics
No merged PRs in 30d

Description

A difficult problem common to many applications is that of the undo history. Ideally, we would like ImageJ to support multiple undo and redo as efficiently as possible. There are two major kinds of undoable operations:
1. Some operations such as adding a ROI are simple to invert efficiently (just delete it). We can use a command recorder system to keep track of such workflows both backwards and forwards to allow undo and redo.
2. Other operations such as dithering are more destructive, and ImageJ must somehow cache the prior state of the image in order to successfully undo the change.
As such, support for a hybrid undo history supporting both types of operations may be the way to go.

Migrated-From: http://trac.imagej.net/ticket/13

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the existing undo history and command recorder implementation in the ImageJ core data model; the issue names no files or tests. Compare the needs of reversible ROI operations with destructive image operations, then define and validate a hybrid history that supports multiple undo and redo operations.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.