eScriptorium issueshttps://gitlab.inria.fr/scripta/escriptorium/-/issues2020-03-27T20:43:29+01:00https://gitlab.inria.fr/scripta/escriptorium/-/issues/198line polygon creation option2020-03-27T20:43:29+01:00daniel stoeklline polygon creation optionSince the polygonisation can fail, we do need a tool so that the user can create a polygon around the line, just as he can create a region. BTW, it would be better to start from a rectangle than from a triangle, as the former is much mor...Since the polygonisation can fail, we do need a tool so that the user can create a polygon around the line, just as he can create a region. BTW, it would be better to start from a rectangle than from a triangle, as the former is much more current and it is more comfortable in those rare cases where you prefer to have a triangle to go back to a triangle by deleting a point rather than having to add a fourth point for all the normal cases, i.e. regions, or line polygonshttps://gitlab.inria.fr/scripta/escriptorium/-/issues/197repolygonisation error2020-03-04T10:39:43+01:00daniel stoeklrepolygonisation errorRepolygonisation does not work. It opens an "object:" warning and then breaks the system with a 504 error. This seems to me an urgent error to fix before Monday. If possible create another instance of this button next to the segment butt...Repolygonisation does not work. It opens an "object:" warning and then breaks the system with a 504 error. This seems to me an urgent error to fix before Monday. If possible create another instance of this button next to the segment button to be able to apply repolygonisation to a selection of pages.
I think it should be possible to repolygonize only a specific line to save calculation costs.https://gitlab.inria.fr/scripta/escriptorium/-/issues/196training error2020-03-27T20:43:47+01:00daniel stoekltraining errorTraining stops unexpectedly on
document/328
(regular kraken model)Training stops unexpectedly on
document/328
(regular kraken model)https://gitlab.inria.fr/scripta/escriptorium/-/issues/195vanishing text after import2020-03-04T16:09:40+01:00daniel stoeklvanishing text after importSome text vanishes on the transcription panel even though it seems to be in the database, here document/328/
Go to element 7 for example. On my screen, I see that first all lines of the 6 columns are filled with text but a millisecond af...Some text vanishes on the transcription panel even though it seems to be in the database, here document/328/
Go to element 7 for example. On my screen, I see that first all lines of the 6 columns are filled with text but a millisecond afterwards only some of them are filled. All others are empty. The segmentation is there, but not the transcription. Here is the xml_import for this image.[PNX_MANUSCRIPTS000041854-1_IE14959541_FL15993913_rewrite.xml](/uploads/610c93b789660a12cac6595647fa4bb1/PNX_MANUSCRIPTS000041854-1_IE14959541_FL15993913_rewrite.xml)https://gitlab.inria.fr/scripta/escriptorium/-/issues/194import queued forever2020-03-04T16:09:49+01:00daniel stoeklimport queued foreverI have the impression that imports are queued forever. Could somebody pls check?I have the impression that imports are queued forever. Could somebody pls check?https://gitlab.inria.fr/scripta/escriptorium/-/issues/193Training stops at the 6th epoch2020-03-02T23:00:16+01:00Ghost UserTraining stops at the 6th epochUsing the `feature/regions` branch, and `docker-compose.yml` was changed to `version: "3.5"`
When training either a Segmenter or a Recognizer, the training always stops at `(epoch # 6)`
[images.zip](/uploads/a358bb51df27bbeff8d0cd45d9e...Using the `feature/regions` branch, and `docker-compose.yml` was changed to `version: "3.5"`
When training either a Segmenter or a Recognizer, the training always stops at `(epoch # 6)`
[images.zip](/uploads/a358bb51df27bbeff8d0cd45d9eb5277/images.zip)
[alto.zip](/uploads/83a242b35d6fd371473d0df968a1b38b/alto.zip)https://gitlab.inria.fr/scripta/escriptorium/-/issues/192escriptorium does not generate valid alto and page xml files2020-03-18T17:28:15+01:00Ghost Userescriptorium does not generate valid alto and page xml filesUsing the `feature/regions` branch
Alto
```
wget http://www.loc.gov/standards/alto/v4/alto.xsd
xmllint --noout --schema alto-4-0.xsd escriptorium_alto.xml
# element TextLine: Schemas validity error
# fails to validate
```
Page
```
wget...Using the `feature/regions` branch
Alto
```
wget http://www.loc.gov/standards/alto/v4/alto.xsd
xmllint --noout --schema alto-4-0.xsd escriptorium_alto.xml
# element TextLine: Schemas validity error
# fails to validate
```
Page
```
wget https://www.primaresearch.org/schema/PAGE/gts/pagecontent/2018-07-15/pagecontent.xsd
xmllint --noout --schema pagecontent.xsd escriptorium_page.xml
# element TextLine: Schemas validity error
# fails to validate
```
Sample files
[images.zip](/uploads/e867c692a69f9c159f04a5501b5ecab7/images.zip)
[alto.zip](/uploads/b89f57e8c10eaec6bc04612d0933aab3/alto.zip)
[page.zip](/uploads/eb823ce1713408a82798484d517f1426/page.zip)https://gitlab.inria.fr/scripta/escriptorium/-/issues/191":" missing in asynchronous export2020-03-02T16:25:27+01:00daniel stoekl":" missing in asynchronous exportThere is a ":" missing after http in the link emailed in asynchronous export.
We also need a url with a name and an https protocolThere is a ":" missing after http in the link emailed in asynchronous export.
We also need a url with a name and an https protocolhttps://gitlab.inria.fr/scripta/escriptorium/-/issues/190cutting polygon error2020-03-02T11:38:23+01:00daniel stoeklcutting polygon errorIf delete the left part of a line (on an RTL document), the baseline is cut correctly, but the polygon preserved is exactly the wrong left part, instead of the right part.
![image](/uploads/2e1ba8cfc7d5bd4ebee6724b30f5c2dc/image.png)If delete the left part of a line (on an RTL document), the baseline is cut correctly, but the polygon preserved is exactly the wrong left part, instead of the right part.
![image](/uploads/2e1ba8cfc7d5bd4ebee6724b30f5c2dc/image.png)https://gitlab.inria.fr/scripta/escriptorium/-/issues/189weird error 5002020-03-23T12:53:20+01:00Robin Tissotweird error 500```
Internal Server Error: /document/create/
AttributeError at /document/create/
'CreateDocument' object has no attribute 'object'
Request Method: POST
Request URL: http://ns342141.ip-5-196-76.eu/document/create/
Django Version: 2.1.4
...```
Internal Server Error: /document/create/
AttributeError at /document/create/
'CreateDocument' object has no attribute 'object'
Request Method: POST
Request URL: http://ns342141.ip-5-196-76.eu/document/create/
Django Version: 2.1.4
Python Executable: /usr/local/bin/uwsgi
Python Version: 3.7.5
Python Path: ['/usr/src/app', '.', '', '/usr/local/lib/python37.zip', '/usr/local/lib/python3.7', '/usr/local/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/site-packages', '/usr/src/app/apps']
Server time: Wed, 19 Feb 2020 10:43:25 +0000
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'django.forms',
'django_cleanup',
'ordered_model',
'easy_thumbnails',
'easy_thumbnails.optimize',
'channels',
'rest_framework',
'compressor',
'bootstrap',
'versioning',
'users',
'core',
'imports']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
Traceback:
File "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py" in inner
34. response = get_response(request)
File "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response
126. response = self.process_exception_by_middleware(e, request)
File "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response
124. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python3.7/site-packages/django/views/generic/base.py" in view
68. return self.dispatch(request, *args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/django/contrib/auth/mixins.py" in dispatch
52. return super().dispatch(request, *args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/django/views/generic/base.py" in dispatch
88. return handler(request, *args, **kwargs)
File "/usr/src/app/apps/core/views.py" in post
72. return self.form_invalid(form)
File "/usr/local/lib/python3.7/site-packages/django/views/generic/edit.py" in form_invalid
61. return self.render_to_response(self.get_context_data(form=form))
File "/usr/src/app/apps/core/views.py" in get_context_data
62. context = super().get_context_data(**kwargs)
File "/usr/local/lib/python3.7/site-packages/django/views/generic/edit.py" in get_context_data
67. return super().get_context_data(**kwargs)
File "/usr/local/lib/python3.7/site-packages/django/views/generic/detail.py" in get_context_data
94. if self.object:
Exception Type: AttributeError at /document/create/
Exception Value: 'CreateDocument' object has no attribute 'object'
Request information:
USER: MaThMill
```https://gitlab.inria.fr/scripta/escriptorium/-/issues/188export empty lines2020-02-20T14:07:09+01:00EL HASSANE GARGEMexport empty linesempty lines are exported as None
e.g :
```
וירק על גבי ירק תבואה על גבי ירק
וירק על גבי תכואה הכל מותר
הקישות ופול מצרי ורואה אני
None
None
None
None
None
None
לו עקור את הכל חוץ ממין אחד
ו׳ הרוצה לעשות שדהו משר
```empty lines are exported as None
e.g :
```
וירק על גבי ירק תבואה על גבי ירק
וירק על גבי תכואה הכל מותר
הקישות ופול מצרי ורואה אני
None
None
None
None
None
None
לו עקור את הכל חוץ ממין אחד
ו׳ הרוצה לעשות שדהו משר
```https://gitlab.inria.fr/scripta/escriptorium/-/issues/187lasso select points2020-02-18T12:56:30+01:00daniel stoekllasso select pointsLasso select selects points of lines according to the boundingbox of the boundary line rather than the points of the baseline. I mean, if I want to select points of two adjacent oversegmented lines, it too easily selects also all points ...Lasso select selects points of lines according to the boundingbox of the boundary line rather than the points of the baseline. I mean, if I want to select points of two adjacent oversegmented lines, it too easily selects also all points of the baseline below as soon as my selection box enters the area of the bounding box of the line below. So merging becomes rather difficult.
![image](/uploads/f7dfcce175666cc704f4c6b7a3efc5d3/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/185ghostline2020-03-06T09:58:21+01:00daniel stoeklghostlineDocument 314, page 6 line 6 exists but is not displayed in the transcription panel. If one hovers with the mouse over the transcription panel where it should be it highlights on the image. If one clicks, the line transcription panel disp...Document 314, page 6 line 6 exists but is not displayed in the transcription panel. If one hovers with the mouse over the transcription panel where it should be it highlights on the image. If one clicks, the line transcription panel displays it, but not the display panel of the whole page.
![image](/uploads/e6f74e1c4d975766d2f7c89507b741bc/image.png)
![image](/uploads/c4f697a21bf099a4a260f2fb1fa94886/image.png)https://gitlab.inria.fr/scripta/escriptorium/-/issues/184yellow line beginning circle with line number too small2020-02-13T00:40:49+01:00daniel stoeklyellow line beginning circle with line number too smallsince most recent redeploy (if there was one since Monday)since most recent redeploy (if there was one since Monday)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/182distinction bl segmentation and polygon boundary segmentation into 2 actions2020-03-04T16:10:29+01:00daniel stoekldistinction bl segmentation and polygon boundary segmentation into 2 actionsAlways calculating the polygon boundaries in segmentation before the baselines have been manually checked is wasting resources, energy and lots of time of the user. Could you please add a crucial radiobutton in the 'launch segmentation' ...Always calculating the polygon boundaries in segmentation before the baselines have been manually checked is wasting resources, energy and lots of time of the user. Could you please add a crucial radiobutton in the 'launch segmentation' menue that allows one to either do only baseline segmentation or only polygon recalculation or both on the selected pages?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/180500 on export2020-02-25T11:04:19+01:00daniel stoekl500 on exportI get a 500 on exporting even partially document/68. Is this because it follows the old boundingboxes?I get a 500 on exporting even partially document/68. Is this because it follows the old boundingboxes?https://gitlab.inria.fr/scripta/escriptorium/-/issues/179error on training2020-03-04T16:10:58+01:00daniel stoeklerror on trainingI tried to train on the first 140 pages of document 257 on bw images, but it gave me an error after about 10 minutes.I tried to train on the first 140 pages of document 257 on bw images, but it gave me an error after about 10 minutes.