eScriptorium issueshttps://gitlab.inria.fr/scripta/escriptorium/-/issues2020-05-26T17:36:26+02:00https://gitlab.inria.fr/scripta/escriptorium/-/issues/255Line number invisible because too close to border2020-05-26T17:36:26+02:00daniel stoeklLine number invisible because too close to border![image](/uploads/af7a64683792d68a17d0a5c0f6a29bf5/image.png)![image](/uploads/af7a64683792d68a17d0a5c0f6a29bf5/image.png)https://gitlab.inria.fr/scripta/escriptorium/-/issues/254repolygonisation fails2020-07-08T11:58:34+02:00daniel stoeklrepolygonisation failstwo lines drop their polygons for the following image-seg file[P.Cair.Zen.IV.59604r.xml](/uploads/0f37cf3ec1c8ca5aa1fe7105e3192879/P.Cair.Zen.IV.59604r.xml)![P.Cair.Zen.IV.59604r](/uploads/38884305e9791ef2f856c75695b72513/P.Cair.Zen.IV.5...two lines drop their polygons for the following image-seg file[P.Cair.Zen.IV.59604r.xml](/uploads/0f37cf3ec1c8ca5aa1fe7105e3192879/P.Cair.Zen.IV.59604r.xml)![P.Cair.Zen.IV.59604r](/uploads/38884305e9791ef2f856c75695b72513/P.Cair.Zen.IV.59604r.png)
![image](/uploads/a4da7babb9c157a8b47aaf5a9177c33e/image.png)https://gitlab.inria.fr/scripta/escriptorium/-/issues/252tifs don't work anymore2020-05-25T19:06:00+02:00Robin Tissottifs don't work anymoreSince we turned off automatic png conversion since firefox won't display them, or at least some of those.Since we turned off automatic png conversion since firefox won't display them, or at least some of those.https://gitlab.inria.fr/scripta/escriptorium/-/issues/244large feature request list mostly for new TT / PA panel2020-05-28T16:20:35+02:00daniel stoekllarge feature request list mostly for new TT / PA panel* show region numbers left (LTR) right (RTL) to line numbers
* change line order by selecting n linenumbers and then sliding the selection up or down.
* change region order by selecting n regionnumbers and then sliding the selection up o...* show region numbers left (LTR) right (RTL) to line numbers
* change line order by selecting n linenumbers and then sliding the selection up or down.
* change region order by selecting n regionnumbers and then sliding the selection up or down.
* arrow-up --> cursor one line up
* arrow-down --> cursor one line down
* return --> insert carriage return here and push rest of text of this line into the next line. If there is text in the next line push that line one down etc. If there is no text in the next line dont push further
* delete --> if you press delete at end of line, the text rom the next line glides into this line and all lines below glide one line up`
* backspace at beginning of line continues deletion at end of previous line
* 'ctrl+home' goes to first character of first line
* 'ctrl+end' goes to last character of last line^
* Possibility to select all text and delete e.g. with 'ctrl+a'
* If mouse over transcription panel turn off the impact of all keyboard shortcuts for segmentation panel.
* we need the possibility to see ms with linenumbers but without baselines. So pls add a possibility to toggle baselines.https://gitlab.inria.fr/scripta/escriptorium/-/issues/240upload error more info needed2020-05-12T12:27:24+02:00daniel stoeklupload error more info neededIf one uploads images and one of the fails one needs to know most of all WHICH one failed. The current X on the image makes it impossible to see the filename![image](/uploads/da0bfadfe039d0502e598852df8ca7ba/image.png)If one uploads images and one of the fails one needs to know most of all WHICH one failed. The current X on the image makes it impossible to see the filename![image](/uploads/da0bfadfe039d0502e598852df8ca7ba/image.png)https://gitlab.inria.fr/scripta/escriptorium/-/issues/238add keyboard shortcuts for magnification-reset, view transcription panel, vie...2020-05-07T19:20:52+02:00daniel stoekladd keyboard shortcuts for magnification-reset, view transcription panel, view segmentation panelPlease add keyboard shortcuts for
1. magnification reset,
2. toggle viewing transcription panel
3. toggle viewing segmentation panelPlease add keyboard shortcuts for
1. magnification reset,
2. toggle viewing transcription panel
3. toggle viewing segmentation panelhttps://gitlab.inria.fr/scripta/escriptorium/-/issues/235model upload progress bar2020-11-30T13:59:48+01:00daniel stoeklmodel upload progress barWhen upoading a model the user is at the loss whether the correct button was clicked and whether something is happening until the model starts working. For a big model this can last for 10 minutes or so on my system. It would be really n...When upoading a model the user is at the loss whether the correct button was clicked and whether something is happening until the model starts working. For a big model this can last for 10 minutes or so on my system. It would be really nice to have a progress bar informing the user about the progress of the model upload.https://gitlab.inria.fr/scripta/escriptorium/-/issues/231Tasks queue improvements2020-07-09T16:42:15+02:00Robin TissotTasks queue improvementsRequirements:
* some tasks need to be chained (eg image compression -> thumbnail generation)
* some tasks may need to be done as fast as possible (eg single line polygon recalculation which is done live for now)
* the user should be able...Requirements:
* some tasks need to be chained (eg image compression -> thumbnail generation)
* some tasks may need to be done as fast as possible (eg single line polygon recalculation which is done live for now)
* the user should be able to see the number of tasks still in queue (and maybe a warning if the server is currently on heavy workload)
* ~~identify tasks that could be done easily on another server, to unburden the database/gpu server, for scaling~~
* ~~load balancing for cpu, gpu and memory, one user shouldn't use all resources if other users are queuing tasks~~
* ~~keep enough resources for db and web server~~
* better feedback on tasks that did not reached the worker yet
* when deleting a document or parts, cancel related tasks/processes.
Technical considerations:
* check other frameworks than celery, mostly to see if load balancing is easier to do
* could spawn a dedicated queue by user with --autoscale to simplify dividing workload to all concurrent users?https://gitlab.inria.fr/scripta/escriptorium/-/issues/227tiff_lzw not available in Pillow2020-04-06T11:54:12+02:00Robin Tissottiff_lzw not available in PillowFile "/usr/src/app/apps/api/serializers.py" in to_representation
23. data['size'] = (img.width, img.height)
OSError at /api/documents/360/parts/
decoder tiff_lzw not availableFile "/usr/src/app/apps/api/serializers.py" in to_representation
23. data['size'] = (img.width, img.height)
OSError at /api/documents/360/parts/
decoder tiff_lzw not availablehttps://gitlab.inria.fr/scripta/escriptorium/-/issues/220join text of lines that are joined2021-03-10T10:04:21+01:00daniel stoekljoin text of lines that are joinedCurrently joining two or more lines means that the text of all but one line gets deleted. It would be really useful if all existing texts get simply concatenated (first inserting a space and then deleting double spaces to be on the safe ...Currently joining two or more lines means that the text of all but one line gets deleted. It would be really useful if all existing texts get simply concatenated (first inserting a space and then deleting double spaces to be on the safe side).https://gitlab.inria.fr/scripta/escriptorium/-/issues/219polygon boundaries including line above or below2020-05-26T09:28:27+02:00daniel stoeklpolygon boundaries including line above or below1. It is really exceptionally nice to see it working VERY well now in almost all cases I have seen so far. Bravo!!!
2. I have seen a strange phenomenon in the following cases: segmentation missed line 1 but included it in the polygon of ...1. It is really exceptionally nice to see it working VERY well now in almost all cases I have seen so far. Bravo!!!
2. I have seen a strange phenomenon in the following cases: segmentation missed line 1 but included it in the polygon of line 2 (i.e. what the system considered as line 1). I manually add line one baseline, but it does not get an independent polygon. I have to move baseline 2 to get a polygon for baseline 1. The same happened for the penultimate line and the last line.https://gitlab.inria.fr/scripta/escriptorium/-/issues/215copy WITH linebreaks2020-03-25T11:33:15+01:00daniel stoeklcopy WITH linebreaksSmall request that would life much easier: Could you please insert linebreaks between the lines when one copies text covering several lines from the transcription panel? One can always get rid of them afterwards if one doesnt want them.Small request that would life much easier: Could you please insert linebreaks between the lines when one copies text covering several lines from the transcription panel? One can always get rid of them afterwards if one doesnt want them.https://gitlab.inria.fr/scripta/escriptorium/-/issues/206transcription box shows wrong image2020-04-06T10:51:37+02:00daniel stoekltranscription box shows wrong imageFrequently clicking on a line to edit it takes very long until the box opens and then the image in the box corresponds to the image of the previous page overlaid by the correct mask of this page
![image](/uploads/cc5a8ea2c8e247e6dd62397a...Frequently clicking on a line to edit it takes very long until the box opens and then the image in the box corresponds to the image of the previous page overlaid by the correct mask of this page
![image](/uploads/cc5a8ea2c8e247e6dd62397af0fc9b44/image.png)https://gitlab.inria.fr/scripta/escriptorium/-/issues/186Catch old models error and display it nicely2021-02-02T11:21:24+01:00Robin TissotCatch old models error and display it nicely```
Traceback:
File "/usr/src/app/apps/core/tasks.py" in transcribe
525. part.transcribe(model=model)
File "/usr/src/app/apps/core/models.py" in transcribe
590. model_ = kraken_models.load_any(model.file.path)
...```
Traceback:
File "/usr/src/app/apps/core/tasks.py" in transcribe
525. part.transcribe(model=model)
File "/usr/src/app/apps/core/models.py" in transcribe
590. model_ = kraken_models.load_any(model.file.path)
File "/usr/local/lib/python3.7/site-packages/kraken/lib/models.py" in load_any
157. seq = TorchSeqRecognizer(nn, train=train, device=device)
File "/usr/local/lib/python3.7/site-packages/kraken/lib/models.py" in __init__
52. if nn.model_type not in [None, 'recognition']:
File "/usr/local/lib/python3.7/site-packages/kraken/lib/vgsl.py" in model_type
471. return self.user_metadata['model_type']
Exception Type: KeyError
Exception Value: 'model_type'
Request data not supplied
```https://gitlab.inria.fr/scripta/escriptorium/-/issues/183Implement checks for models2020-02-11T11:11:10+01:00Robin TissotImplement checks for models> there are now some additional
> properties on TorchVGSLModel objects that allow some basic sanity
> checks:
>
> one_channel_mode [None, '1', 'L'] -> if the input channels of the model
> are 1 this ...> there are now some additional
> properties on TorchVGSLModel objects that allow some basic sanity
> checks:
>
> one_channel_mode [None, '1', 'L'] -> if the input channels of the model
> are 1 this field indicates if the
> model has been trained on binary
> ('1') or grayscale ('L') data. It
> is set automatically during
> training (after 1 epoch). Models
> trained before yesterday will be
> assumed to have been trained on
> binary data and will have '1' in
> this field. `None` indicates that
> the model expects more than one
> input channel.
>
> seg_type [None, 'bbox', 'baselines'] -> Encodes the type of segmentation
> the model has been trained on.
> None is again for legacy. Has to
> be set manually before training.
>
> model_type [None, 'recognition', 'segmentation'] -> Indicates if the
> model is a
> segmentation or
> recognition model.
> Legacy models have a
> value of `None`. The
> `TorchSeqRecognizer`
> class will now raise
> a ValueError if
> trying to load
> segmentation model.
> Has to be set
> manually during
> training.https://gitlab.inria.fr/scripta/escriptorium/-/issues/181merge vertical lines needs recalculation2020-03-16T13:38:26+01:00daniel stoeklmerge vertical lines needs recalculationWhen merging two vertical lines, the dots are aligned to a new line sometimes in quite crazy orders.When merging two vertical lines, the dots are aligned to a new line sometimes in quite crazy orders.https://gitlab.inria.fr/scripta/escriptorium/-/issues/163sliders for navigation on image2021-03-10T10:06:48+01:00daniel stoeklsliders for navigation on imageWe absolutely need sliders for x and y on the top, bottom, left, right to control the placement of the visible image part. The mouse scrolling is not always reacting well enough. And the image zoom slider needs to be longer. It is change...We absolutely need sliders for x and y on the top, bottom, left, right to control the placement of the visible image part. The mouse scrolling is not always reacting well enough. And the image zoom slider needs to be longer. It is changes too drastically.https://gitlab.inria.fr/scripta/escriptorium/-/issues/157text distribution after cutting2020-02-05T13:42:31+01:00daniel stoekltext distribution after cuttingWhen cutting a line, the text should be associated with the part that is longer.When cutting a line, the text should be associated with the part that is longer.https://gitlab.inria.fr/scripta/escriptorium/-/issues/140copy and paste for a document2020-02-10T17:02:26+01:00daniel stoeklcopy and paste for a documentPlease add a copy and past button for a document and a choice to either keep associated data or not. It would not require a duplication of images. If one deletes an image in a document, only the link to the image gets deleted (unless it ...Please add a copy and past button for a document and a choice to either keep associated data or not. It would not require a duplication of images. If one deletes an image in a document, only the link to the image gets deleted (unless it is the last existing link to this image, when also the image itself should be deleted from the server).https://gitlab.inria.fr/scripta/escriptorium/-/issues/115Make segmenation contextual menu next to mouse2020-01-06T10:40:40+01:00Robin TissotMake segmenation contextual menu next to mouseRather than on the top left corner.Rather than on the top left corner.