Comments (16)
I'm just starting this task, hope I can finish it this weekend.
🎉 congratulations!!!
thank you :D
from make-sense.
Hi, @ahmedbesbes! We don't have this functionality yet. But you can expect it to enter MakeSense in the next development round. At the moment I only have hint that if you don't make labels for a given photo then you won't be exporting any file that would concern it. This is not deletion.... I know. But at least you don't have garbage.
from make-sense.
I have a related suggestion. I'd like to be able to include a skipped image in the export. A few object detection models I'm using accept negative images (i.e. images with no objects of interest). Is this possible?
from make-sense.
@ahmedbesbes I'm going to implement that feature in the upcoming version of MakeSense.
from make-sense.
I'll try to take this.
from make-sense.
@ahmedbesbes let me know if you have any problems
from make-sense.
I wanted to add this functionality, but needed a new settings parameter, wondering where exactly do you suggest adding this toggle?
from make-sense.
I'll try to prepare some task requirements today. ;)
from make-sense.
Hi, @rasyidf 👋! Below you will find guidelines for this task. I tried not only to answer your question but also to point out some problems that may arise.
-
Functionality should be to irreversibly remove the photo from the dataset. So not toggle (on / off) but delete button.
-
User should be able to trigger the deletion of the photo in two ways.
- There should be a delete button at the top, that would enable to delete of the currently annotated photo. The button should use the trash icon. Please also add the separator between buttons on the left and the newly added delete button. The delete button should display a tooltip on the hover saying: "Delete current image".
- There should be an additional delete button for every image in the left panel. This button should be only visible on hover. The button should be
#d42245
with the white cross.
-
When a user tries to delete an image that contains annotation, we need to display a confirmation popup. With the question: "You are about to delete the image that contains {annotations_type} annotations. Would you like to continue?". We have a reusable component
GenericYesNoPopup
that you can leverage. A good example of using that popup is inExitProjectPopup
.annotations_type
should match the type of annotations that would be removed - box, polygon, line, or point. -
We should be able to figure out that the image contains labels based on logic similar to the
ImagesList.isImageChecked
method, but we need to check for all of them, not foractiveLabelType
. -
When the user removes the current image, we should make sure that the next image from the list would be loaded. You can get current image index calling
LabelsSelector.getActiveImageIndex()
and you can load different image by callingupdateActiveImageIndex
.
from make-sense.
noted, I'll work on it as soon as I'm done with my engagement party.
from make-sense.
🎉 congratulations!!!
from make-sense.
- I'm still don't really understand how Image being managed.
- do I have to add deleteById in the Image Repository? or Is it Already Exist?
- Is hotkey for deletion is necessary to be added?
from make-sense.
I'm still don't really understand how Image being managed.
Image management is divided into two parts: ImageRepository
and LabelsState
. LabelsState.imagesData
field stores ImageData
objects. Each ImageData
contains fields like id
, File
as well as lots of label data. ImageRepository
is essentially a map matching image id
from ImageData
with actual HTMLImageElement
.
File
is the object that I get from the browser when the user loads images. It contains (among other things) the path to the image. HTMLImageElement
is the actual image data. File
is light and HTMLImageElement
is heavy.
I decided that I need to separate HTMLImageElement
from the rest of the image data. It's because I store most of the data in Redux, and Redux requires you to constantly return a new state, which is a copy of an old state with small changes. I didn't want to constantly juggle large HTMLImageElement
objects.
When the user uploads an image, the browser is passing us the File
object. We take it and wrap it into ImageData
and store it in Redux. When the user wants to display an image represented by this File
we actually load it and at the same time store loaded HTMLImageElement
in ImageRepository
.
I hope it is more clear now.
do I have to add
deleteById
in the Image Repository? or Is it Already Exist?
I would do two things. First: add deleteById
to ImageRepository
. That would be responsible for removing HTMLImageElement
object. We need to make sure it is actually gone from memory. Second: add deleteById
action to ImageActions
, that would be responsible for updating Redux.
Is hotkey for deletion is necessary to be added?
No I don't plan to add hotkey for that functionality for now.
from make-sense.
Whoa, thanks for the explanation, I'll try to implement it soon.
from make-sense.
Actually, I'm new with Redux, so it would take some time.
from make-sense.
No worries I understand 🤯! Just let me know if you will have any questions. I’ll try to be as responsive as possible.
from make-sense.
Related Issues (20)
- Multi Object Tracking(MOT) annotation
- Some suggestions and a bug HOT 1
- Support the Instance Segmentation inference from roboflow mode HOT 1
- How to load my Yolo model locally HOT 4
- add support for coco json format while exporting annotations for rectangles HOT 2
- upload dir for many photoes HOT 1
- how do i get a labels.txt file to import annotations? HOT 2
- annotation import was unsuccessful HOT 4
- Project mode HOT 1
- Duplicate label colors HOT 1
- Shortcut to control rectangle visibility when doing object detection HOT 1
- YOLO export doesn't include label file HOT 2
- web page isn't working? HOT 18
- Web server sync HOT 4
- Is it possible to expose the make-sense to Intranet? HOT 2
- Support of TIFF format image HOT 1
- Hi, HOT 1
- Please let me use the keyboard to switch between images HOT 1
- Some interface issues
- Interface issues HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from make-sense.