Skip to content

Limit apriltag IDs (WIP)#2103

Draft
spacey-sooty wants to merge 16 commits intoPhotonVision:mainfrom
spacey-sooty:limit-apriltag-ids
Draft

Limit apriltag IDs (WIP)#2103
spacey-sooty wants to merge 16 commits intoPhotonVision:mainfrom
spacey-sooty:limit-apriltag-ids

Conversation

@spacey-sooty
Copy link
Copy Markdown
Member

@spacey-sooty spacey-sooty commented Sep 23, 2025

Description

Implements tag filtering for AprilTag pipelines. See design doc for more info.

Meta

Merge checklist:

  • Pull Request title is short, imperative summary of proposed changes
  • The description documents the what and why
  • If this PR changes behavior or adds a feature, user documentation is updated
  • If this PR touches photon-serde, all messages have been regenerated and hashes have not changed unexpectedly
  • If this PR touches configuration, this is backwards compatible with settings back to v2025.3.2
  • If this PR touches pipeline settings or anything related to data exchange, the frontend typing is updated
  • If this PR addresses a bug, a regression test for it is added

@github-actions github-actions Bot added the documentation Anything relating to https://docs.photonvision.org label Sep 23, 2025
Comment thread docs/source/docs/contributing/design-descriptions/tag-limiting.md
@github-actions github-actions Bot added photonlib Things related to the PhotonVision library backend Things relating to photon-core and photon-server labels Oct 14, 2025
@github-actions github-actions Bot added frontend Having to do with PhotonClient and its related items photonlib Things related to the PhotonVision library and removed photonlib Things related to the PhotonVision library labels Mar 7, 2026
@spacey-sooty spacey-sooty force-pushed the limit-apriltag-ids branch 2 times, most recently from 7ea234a to 96edd3d Compare March 26, 2026 06:11
@spacey-sooty
Copy link
Copy Markdown
Member Author

Need to do tests, documentation, sim and read from photonlib.

@spacey-sooty
Copy link
Copy Markdown
Member Author

also need to show that rejected detections are still detected with a different colour detection

Signed-off-by: Jade Turner <spacey-sooty@proton.me>
Signed-off-by: Jade Turner <spacey-sooty@proton.me>
Signed-off-by: Jade Turner <spacey-sooty@proton.me>
Signed-off-by: Jade Turner <spacey-sooty@proton.me>
Signed-off-by: Jade Turner <spacey-sooty@proton.me>
Signed-off-by: Jade Turner <spacey-sooty@proton.me>
Signed-off-by: Jade Turner <spacey-sooty@proton.me>

## Accessing rejected tag info

Accessing rejected tag info is still important, as tags can serve other information not just localisation. For example in the 2025-2026 FTC Game, Decode, there was a tag utilised to determine different patterns of scoring elements. Mechanisms like this make it desirable to still have access to detection info even when we reject a tag for localisation purposes.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure how I feel about using an FTC example, does that imply support?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think it implies support. If someone has a different example I am happy to use that, it just seemed like the most obvious example as to why you might want to access some tag data even if its rejected

<pv-input
v-model="currentPipelineSettings.rejectTagIds"
label="Reject Tag IDs"
tooltip="Tag IDs to reject for multitag estimation"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add expected format to the tooltip (CSV)

@update:modelValue="(value) => useCameraSettingsStore().changeCurrentPipelineSetting({ blur: value }, false)"
/>
<pv-input
v-model="currentPipelineSettings.rejectTagIds"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

v-model is a two-way bind, prefer creating a getter/setter for the v-model and removing @update:model-value

@spacey-sooty spacey-sooty moved this to In progress in 2027 Release Apr 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend Things relating to photon-core and photon-server documentation Anything relating to https://docs.photonvision.org frontend Having to do with PhotonClient and its related items photonlib Things related to the PhotonVision library

Projects

Status: In progress

Development

Successfully merging this pull request may close these issues.

2 participants