Git Product home page Git Product logo

imagedatasettageditor's Introduction

ImageDataSetTagEditor

A small desktop application to manage image tag captions for image training, written in C# and AvaloniaUI. This project is heavily inspired by 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

Tag Context Menu

Global tag context menu

Running

Just head over to the releases page, 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.

imagedatasettageditor's People

Contributors

theanachronism avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

g2asell2019

imagedatasettageditor's Issues

'Unable to resolve type SvgImage from namespace'

When opened MainWindows.axaml, I got this error from output

System.Xaml.XamlException: 'Unable to resolve type SvgImage from namespace https://github.com/avaloniaui Line 124, position 60.' Line number '124' and line position '60'.

IDE extension list:
image

Improvement suggestions regarding tag handling

First of all: thank you for your work on this small tool which I accidentally found via reddit.

I did some testing and it appears to prove quite useful.

However, there were a couple of things which suprised me and kind of hindered the "usability flow":

  • Out of habit I attempt to complete the currently selected tag with either a mouse click on the list entry or by pressing the tab-key. Neither of those worked, though. Apparently only "Enter" is supported for tag confirmation?
  • It would be very useful if there was a way to directly add existing tags for a new image by simply clicking on the entry in the list to the right (or maybe on a new small button next to the entry?)
  • Captions are not automatically split by "," if entered into one line. It requires a reload of the directory for that.
  • When adding a new tag (e.g., via ALT+(Plus)) there's always a placeholder text "New Tag" which needs manual deletion. Maybe the placeholder could be appear highlighted already so the first keypress replaces it?

Maybe some of those suggestions might be implemented in a future release?

Not saving all changes on close

When closing the window, all changes should be written to the text files, but the application dies before all changes are actually written.

Reordering of tags

Tags cannot be reordered right now. This should be possible so one can keep a good structure of all tags.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.