JuliaGeometry / JuliaGeometry/CoordinateTransformations.jl

Are transformations active or passive?

Open
#29 14 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Julia
Stars
185
Forks
24
PR merge metrics
No merged PRs in 30d

Description

I foreseen this for a while, but I think this ambiguity is finally biting somewhere. See https://github.com/JuliaImages/ImageTransformations.jl/issues/25 for context.

The problem is that when you have a transformation, it isn't clear whether it is active or passive.

  • Active transformations take a point and moves them within the same frame. It is a physical change of location.
  • Passive transformations change the coordinate system itself - there is no physical interpretation of the point moving, just our description of it.

While the difference might seem pretty inane/abstract, I think the distinction can have important consequences. In ImageTransformations.jl the difference matters when your warp an image - are you moving the pixels to a new location, or is the "canvas" being warped (i.e. mapping a new canvas to pixels on the old canvas)? Note that the two transformations are inverses of one another (and further note that not all transformations are invertible, or otherwise that creating the inverse may be a slow/inaccurate operation).

I'm not yet certain what the solution is, but I feel that if it were clear whether a given transformation were to be interpretted as active or passive then these kinds of ambiguities would not occur downstream.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading this issue and the linked ImageTransformations.jl issue 25, then inspect the transformation API and how warp consumes transformations. Done means the project has an explicit, agreed convention for active versus passive transformations and the resulting behavior is clear for downstream image warping.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
computer-graphics
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.