> For the complete documentation index, see [llms.txt](https://metaverse-imagen.gitbook.io/ai-tools-research/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://metaverse-imagen.gitbook.io/ai-tools-research/solutions-and-tutorials/tools-selection/dataset-tag-managers/image-dataset-tag-editor.md).

# Image Dataset Tag Editor

## Image Dataset Tag Editor

<https://github.com/TheAnachronism/ImageDataSetTagEditor/releases/tag/v1.0.2>

A small desktop application to manage image tag captions for image training, written in C# and [AvaloniaUI](https://avaloniaui.net/). This project is heavily inspired by [BooruDatasetTagManager](https://github.com/starik222/BooruDatasetTagManager) and has many of its features, including auto-complete of already used tags.

Can manage a dataset in subdirectories, where each caption is split into tags or just comma separated values. These captions are put into a text file next to the image, named the same way. So image `0000.jpg` has a caption file `0000.txt` with something like `person, woman, sitting on a chair`.

### Screenshots and differences to BooruDatasetTagManager

1. There isn't really a concept of keeping changes before saving them. As soon as you switch to a different image, the changes get written to the tag text file of the previous image. Keeping track of these changes locally and then requiring the user to save the changes didn't really make much sense to me.
2. Tag-Translation isn't present here either. On a very basic level, this application is just there to write comma seperated values into text files that belong to an image. It doesn't matter what these values are or in what language they are. But to keep some consistency, I've added the global tag overview and auto-complete of tags.
3. The entire feature of BooruDatasetTagManager with the **loss statistics** isn't present here. I wrote this application for my personal needs and I've never used those statistics.

**Overview**

[![Overview screenshot](https://github.com/TheAnachronism/ImageDataSetTagEditor/raw/master/Assets/overview.png)](https://github.com/TheAnachronism/ImageDataSetTagEditor/blob/master/Assets/overview.png)

**Tag Context Menu**

[![Global tag context menu](https://github.com/TheAnachronism/ImageDataSetTagEditor/raw/master/Assets/tag-context-menu.png)](https://github.com/TheAnachronism/ImageDataSetTagEditor/blob/master/Assets/tag-context-menu.png)

### Running

Just head over to the [releases page](https://github.com/TheAnachronism/ImageDataSetTagEditor/releases), grab the latest one and download the executable you need. Everything of the application is contained in one file, so nothing else is required. When opening, a console window will appear in the background. That is currently because of .NET and Avalonia, and I haven't figured out yet, how to get it away -.-

### Key bindings and other features

As I often accelerate my work with key bindings, I've added some here as well:

* Ctrl + Down: Select next image
* Ctrl + Up: Select previous image
* Ctrl + F: Enter image search box
* Ctrl + Shift + F: Enter tag search box
* Ctrl + Add(+): Add tag to current selected image
* Ctrl + Subtract(-): Delete current selected tag on current selected image
* Up & Down: Select the next or previous tag of the current image. Also includes auto-complete suggestions if they're shown.

Clicking on the tag list on the right also cycles through the images that have the clicked tag.

### Local development setup

Clone the repo and open the solution, just make sure you have .NET 7 installed and the IDE extension needed to develop Avalonia.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://metaverse-imagen.gitbook.io/ai-tools-research/solutions-and-tutorials/tools-selection/dataset-tag-managers/image-dataset-tag-editor.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
