Skip to content

Commit

Permalink
Add codespell support (config, workflow to detect/not fix) and make i…
Browse files Browse the repository at this point in the history
…t fix few typos (#7798)

* Add github action to codespell master on push and PRs

* Add rudimentary codespell config

* Tunes up to codespell config from code review

Co-authored-by: Florian M <[email protected]>

* Run codespell CI only on manual workflow_dispatch

Co-authored-by: Florian M <[email protected]>

* [DATALAD RUNCMD] Do interactive fixing of leftover ambigous typos

=== Do not change lines below ===
{
 "chain": [],
 "cmd": "codespell -w -i 3 -C 2",
 "exit": 0,
 "extra_inputs": [],
 "inputs": [],
 "outputs": [],
 "pwd": "."
}
^^^ Do not change lines above ^^^

* [DATALAD RUNCMD] run codespell throughout fixing typos automagically

=== Do not change lines below ===
{
 "chain": [],
 "cmd": "codespell -w",
 "exit": 0,
 "extra_inputs": [],
 "inputs": [],
 "outputs": [],
 "pwd": "."
}
^^^ Do not change lines above ^^^

---------

Co-authored-by: Florian M <[email protected]>
  • Loading branch information
yarikoptic and fm3 authored May 16, 2024
1 parent 10448d6 commit de6bbd4
Show file tree
Hide file tree
Showing 70 changed files with 123 additions and 94 deletions.
7 changes: 7 additions & 0 deletions .codespellrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[codespell]
# Ref: https://github.com/codespell-project/codespell#using-a-config-file
skip = *.svg,*.sublime-workspace,*.lock,.codespellrc,./util/target/,./binaryData,./node_modules,./pg,./project/target,./target,./webknossos-datastore/target,./webknossos-jni/target,./webknossos-tracingstore/target,./util/target,./coverage,./public-test,./tools/proxy/node_modules,./docs/publications.md
# some names and camelCased variables etc
ignore-regex = \b(Manuel|[a-z]+[A-Z][a-zA-Z]*|H Mattern|Nat Commun|couldn&apos;t)\b
# Full of unfortunate choices for short names
ignore-words-list = lod,bais,iis,nd,ue,inbetween
22 changes: 22 additions & 0 deletions .github/workflows/codespell.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Codespell configuration is within .codespellrc
---
name: Codespell

on:
workflow_dispatch: {}

permissions:
contents: read

jobs:
codespell:
name: Check for spelling errors
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4
- name: Annotate locations with typos
uses: codespell-project/codespell-problem-matcher@v1
- name: Codespell
uses: codespell-project/actions-codespell@v2
14 changes: 7 additions & 7 deletions CHANGELOG.released.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ For upgrade instructions, please check the [migration guide](MIGRATIONS.released
- Creating and deleting edges is now possible with ctrl+(alt/shift)+leftclick in orthogonal, flight and oblique mode. Also, the flight and oblique modes allow selecting nodes with leftclick, creating new trees with 'c' and deleting the active node with 'del'. [#7678](https://github.com/scalableminds/webknossos/pull/7678)

### Added
- Added Typescript defintions for @scalableminds/prop-types package. [#7744](https://github.com/scalableminds/webknossos/pull/7744)
- Added Typescript definitions for @scalableminds/prop-types package. [#7744](https://github.com/scalableminds/webknossos/pull/7744)
- Added Typescript definitions for react-remarkable package. [#7748](https://github.com/scalableminds/webknossos/pull/7748)

### Changed
Expand Down Expand Up @@ -470,7 +470,7 @@ For upgrade instructions, please check the [migration guide](MIGRATIONS.released

### Changed
- Moved the view mode selection in the toolbar next to the position field. [#6949](https://github.com/scalableminds/webknossos/pull/6949)
- Redesigned welcome toast for new, annonymous users with new branding. [#6961](https://github.com/scalableminds/webknossos/pull/6961)
- Redesigned welcome toast for new, anonymous users with new branding. [#6961](https://github.com/scalableminds/webknossos/pull/6961)
- When saving annotations, the URL of the webknossos instance is stored in the resulting NML file. [#6964](https://github.com/scalableminds/webknossos/pull/6964)

### Fixed
Expand Down Expand Up @@ -955,14 +955,14 @@ For upgrade instructions, please check the [migration guide](MIGRATIONS.released

### Highlights
- The visible meshes are now included in the link copied from the "Share" modal or the "Share" button next to the dataset position. They are automatically loaded for users that open the shared link. [#5993](https://github.com/scalableminds/webknossos/pull/5993)
- Added a new "Connectome Tab" which can be used to explore connectomes by visualizing neurites and their synaptic connections. Connectome files need to be placed in a `connectomes` folder inside of the respective segmentation layer. It is possible to craft links that automatically load specific agglomerates and their synapses when openend. For more information refer to https://docs.webknossos.org/webknossos/sharing.html#sharing-link-format. [#5894](https://github.com/scalableminds/webknossos/pull/5894)
- Added a new "Connectome Tab" which can be used to explore connectomes by visualizing neurites and their synaptic connections. Connectome files need to be placed in a `connectomes` folder inside of the respective segmentation layer. It is possible to craft links that automatically load specific agglomerates and their synapses when opened. For more information refer to https://docs.webknossos.org/webknossos/sharing.html#sharing-link-format. [#5894](https://github.com/scalableminds/webknossos/pull/5894)

### Added
- Added a context-menu option when right-clicking on skeleton trees to hide/show all other trees but the selected one. Great for inspecting a single tree in isolation. Identical to keyboard shortcut "2". [#6102](https://github.com/scalableminds/webknossos/pull/6102)
- Added support for reading Zarr image data. [#6019](https://github.com/scalableminds/webknossos/pull/6019)

### Changed
- The maximum brush size now depends on the available magnifications. Consequentially, one can use a larger brush size when the magnifications of a volume layer are restricted. [#6066](https://github.com/scalableminds/webknossos/pull/6066)
- The maximum brush size now depends on the available magnifications. Consequently, one can use a larger brush size when the magnifications of a volume layer are restricted. [#6066](https://github.com/scalableminds/webknossos/pull/6066)
- Improved stability and speed of volume annotations when annotating large areas. [#6055](https://github.com/scalableminds/webknossos/pull/6055)
- In dataset upload, linking layers of existing datasets is no longer restricted to public datasets. [#6097](https://github.com/scalableminds/webknossos/pull/6097)
- Deactivating users with currently active tasks is no longer allowed. [#6099](https://github.com/scalableminds/webknossos/pull/6099)
Expand All @@ -978,7 +978,7 @@ For upgrade instructions, please check the [migration guide](MIGRATIONS.released

### Removed
- The previously disabled Import Skeleton Button has been removed. The functionality is available via the context menu for datasets with active ID mappings. [#6073](https://github.com/scalableminds/webknossos/pull/6073)
- Removes experimental (and hidden) automatic brushing feature. Consequentially, the corresponding feature flag `autoBrushReadyDatasets` is not used, anymore. [#6107](https://github.com/scalableminds/webknossos/pull/6107)
- Removes experimental (and hidden) automatic brushing feature. Consequently, the corresponding feature flag `autoBrushReadyDatasets` is not used, anymore. [#6107](https://github.com/scalableminds/webknossos/pull/6107)

### Breaking Changes

Expand Down Expand Up @@ -1457,7 +1457,7 @@ For upgrade instructions, please check the [migration guide](MIGRATIONS.released
- In the tree tab, all groups but the root group are now collapsed instead of expanded when opening a tracing. [#4897](https://github.com/scalableminds/webknossos/pull/4897)
- New volume/hybrid annotations are now automatically multi-resolution volume annotations. [#4755](https://github.com/scalableminds/webknossos/pull/4755)
- Re-enabled continuous brush strokes. This feature ensures that even fast brush strokes are continuous and don't have "holes". [#4924](https://github.com/scalableminds/webknossos/pull/4924)
- The Historgram now has a correct linear scale. [#4926](https://github.com/scalableminds/webknossos/pull/4926)
- The Histogram now has a correct linear scale. [#4926](https://github.com/scalableminds/webknossos/pull/4926)

### Fixed
- Fixed the disappearing of dataset settings after switching between view mode and annotation mode. [#4845](https://github.com/scalableminds/webknossos/pull/4845)
Expand Down Expand Up @@ -2060,7 +2060,7 @@ Also the data viewing and tracing workflow is smoothed further:
- Do not show publication view if no publications are specified. [#3778](https://github.com/scalableminds/webknossos/pull/3778)

### Fixed
- Fixed an error that occured when changing the URL hash. [#3746](https://github.com/scalableminds/webknossos/pull/3746)
- Fixed an error that occurred when changing the URL hash. [#3746](https://github.com/scalableminds/webknossos/pull/3746)
- Fixed a bug in the timeline chart rendering. The start and end time of the timeline chart now match the selected time range. [#3772](https://github.com/scalableminds/webknossos/pull/3772)
- The modals for a new task description and recommended task settings are no longer shown in read-only tracings. [#3724](https://github.com/scalableminds/webknossos/pull/3724)
- Fixed a rendering bug when opening a task that only allowed flight/oblique mode tracing. [#3783](https://github.com/scalableminds/webknossos/pull/3783)
Expand Down
2 changes: 1 addition & 1 deletion CHANGELOG.unreleased.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ For upgrade instructions, please check the [migration guide](MIGRATIONS.released

### Added
- Within the proofreading tool, the user can now interact with the super voxels of a mesh in the 3D viewport. For example, this allows to merge or cut super voxels from another. As before, the proofreading tool requires an agglomerate file. [#7742](https://github.com/scalableminds/webknossos/pull/7742)
- Minor improvements for the timetracking overview (faster data loding, styling). [#7789](https://github.com/scalableminds/webknossos/pull/7789)
- Minor improvements for the timetracking overview (faster data loading, styling). [#7789](https://github.com/scalableminds/webknossos/pull/7789)
- Updated several backend dependencies for optimized stability and performance. [#7782](https://github.com/scalableminds/webknossos/pull/7782)
- Voxelytics workflows can be searched by name and hash. [#7790](https://github.com/scalableminds/webknossos/pull/7790)

Expand Down
6 changes: 3 additions & 3 deletions MIGRATIONS.released.md
Original file line number Diff line number Diff line change
Expand Up @@ -363,7 +363,7 @@ None.

## [21.11.0](https://github.com/scalableminds/webknossos/releases/tag/21.11.0) - 2021-11-30
- The docker files now place the webKnossos installation under `/webknossos` instead of `/srv/webknossos`. All mounts, most importantly `/srv/webknossos/binaryData`, need to be changed accordingly.
- The entrypoint of the docker files have changed. Therefore, any existing `docker-compose.yml` setups need to be adapted. In most cases, only the `entrypoint: bin/webknossos` lines need to be removed (if existant).
- The entrypoint of the docker files have changed. Therefore, any existing `docker-compose.yml` setups need to be adapted. In most cases, only the `entrypoint: bin/webknossos` lines need to be removed (if existent).
- To receive Slack notifications about slow bucket requests, overwrite `slackNotifications.uri` in the webknossos-datastore config.
- If your setup includes a webknossos-worker, it needs to be updated to the latest version (PR https://github.com/scalableminds/webknossos-worker/pull/70)

Expand Down Expand Up @@ -618,7 +618,7 @@ No migrations necessary.


## [19.03.0](https://github.com/scalableminds/webknossos/releases/tag/19.03.0) - 2019-03-04
- The config paramters `application.authentication.enableDevAutoVerify` and `application.authentication.enableDevAutoAdmin` have been removed. To enable automatic verification for user signup, set the organization’s new `enableAutoVerify` field to `true` in the database.
- The config parameters `application.authentication.enableDevAutoVerify` and `application.authentication.enableDevAutoAdmin` have been removed. To enable automatic verification for user signup, set the organization’s new `enableAutoVerify` field to `true` in the database.

### Postgres Evolutions:
- [038-more-voxel-types.sql](conf/evolutions/038-more-voxel-types.sql)
Expand Down Expand Up @@ -655,7 +655,7 @@ No migrations necessary.

## [18.11.0](https://github.com/scalableminds/webknossos/releases/tag/18.11.0) - 2018-10-29
- Some config keys have changed, if you overwrite them in your setup, please adapt: the `oxalis` prefix is renamed to `webKnossos` so the new keys are `webKnossos.user.time.tracingPauseInSeconds`, `webKnossos.tasks.maxOpenPerUser`, `webKnossos.newOrganizationMailingList` as well as `datastore.webKnossos.uri`, `datastore.webKnossos.secured`, `datastore.webKnossos.pingIntervalMinutes` for the data store.
- There is now a separate module for the tracingstore, the datastore is no longer responsible for saving tracings. This module can run as a standalone application, or as a module of webKnossos locally. It is recommended that you choose the option that was previously also in place for datastores. In case of a standalone datastore, the local one needs to be disabled in application.conf: `tracingstore.enabled = false` and `play.modules.disabled += "com.scalableminds.braingames.datastore.TracingStoreModule` – and in either case, the adress of the tracingstore (localhost or remote) needs to be inserted in the db in `webknossos.tracingStores`.
- There is now a separate module for the tracingstore, the datastore is no longer responsible for saving tracings. This module can run as a standalone application, or as a module of webKnossos locally. It is recommended that you choose the option that was previously also in place for datastores. In case of a standalone datastore, the local one needs to be disabled in application.conf: `tracingstore.enabled = false` and `play.modules.disabled += "com.scalableminds.braingames.datastore.TracingStoreModule` – and in either case, the address of the tracingstore (localhost or remote) needs to be inserted in the db in `webknossos.tracingStores`.
- The FossilDB version has changed from `0.1.10` to `0.1.14`.
- The FossilDB needs to be run with an additional column family `volumeUpdates`.
- If your setup overwrites the config key `play.http.router` to disable the local datastore, change it to `"noDS.Routes"` (or `"noDS.noTS.Routes"` to also disable the local tracingstore).
Expand Down
2 changes: 1 addition & 1 deletion app/controllers/WKRemoteTracingStoreController.scala
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ class WKRemoteTracingStoreController @Inject()(tracingStoreService: TracingStore
}

private def ensureAnnotationNotFinished(annotation: Annotation) =
if (annotation.state == Finished) Fox.failure("annotation already finshed")
if (annotation.state == Finished) Fox.failure("annotation already finished")
else Fox.successful(())

def dataSourceForTracing(name: String, key: String, tracingId: String): Action[AnyContent] =
Expand Down
2 changes: 1 addition & 1 deletion app/mail/Mailer.scala
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ class Mailer(conf: MailerConfig) extends Actor with LazyLogging {
multiPartMail.send
()
} else {
logger.info("Mail was not sent as no smpt host is configured.")
logger.info("Mail was not sent as no smtp host is configured.")
}
}

Expand Down
2 changes: 1 addition & 1 deletion app/models/annotation/AnnotationService.scala
Original file line number Diff line number Diff line change
Expand Up @@ -469,7 +469,7 @@ class AnnotationService @Inject()(
executeFinish
} else if (annotation.state == Finished) {
logger.info(
s"Silently not finishing annotation ${annotation._id.toString} for it is aready finished. Access context: ${ctx.toStringAnonymous}")
s"Silently not finishing annotation ${annotation._id.toString} for it is already finished. Access context: ${ctx.toStringAnonymous}")
Fox.successful("annotation.finished")
} else {
logger.info(
Expand Down
2 changes: 1 addition & 1 deletion app/models/job/JobService.scala
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ class JobService @Inject()(wkConf: WkConf,
Some(
genericEmailTemplate(
"Dataset Animation",
"Your animation of a WEBKNOSSOS dataset has been sucessfully created and is ready for download."
"Your animation of a WEBKNOSSOS dataset has been successfully created and is ready for download."
))
case _ => None
}) ?~> "job.emailNotifactionsDisabled"
Expand Down
2 changes: 1 addition & 1 deletion app/models/task/TaskCreationParameters.scala
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ object NmlTaskParameters {
implicit val nmlTaskParametersFormat: Format[NmlTaskParameters] = Json.format[NmlTaskParameters]
}

// baseId is the id of the old Annotation which should be used as base for the new annotation, skeletonId/volumeId are the ids of the dupliated tracings from baseId
// baseId is the id of the old Annotation which should be used as base for the new annotation, skeletonId/volumeId are the ids of the duplicated tracings from baseId
case class BaseAnnotation(baseId: String, skeletonId: Option[String] = None, volumeId: Option[String] = None)

object BaseAnnotation {
Expand Down
2 changes: 1 addition & 1 deletion app/views/mail/jobFailedUploadConvert.scala.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

<p>
oops, unfortunately WEBKNOSSOS could not upload and convert your dataset <i>@{datasetName}</i> automatically.
This should not have happend and we are sorry about the inconvenience. Our engineers will investigate and fix the
This should not have happened and we are sorry about the inconvenience. Our engineers will investigate and fix the
problem as soon as possible.
</p>

Expand Down
2 changes: 1 addition & 1 deletion app/views/mail/jobSuccessfulSegmentation.scala.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

<p>
Your @{jobTitle} is ready for exploration.
WEBKNOSSOS sucessfully applied our machine learning models on the specific subset of the <i>@{datasetName}</i> dataset.
WEBKNOSSOS successfully applied our machine learning models on the specific subset of the <i>@{datasetName}</i> dataset.
Click the button below to open the dataset or find it amongst your other dataset in the WEBKNOSSOS dashboard.
</p>

Expand Down
2 changes: 1 addition & 1 deletion app/views/mail/notifyAdminTimeLimit.scala.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
</ul>

</p>
<p>For mor information visit <a href="@{uri}/annotations/Task/@{annotationId}">@{uri}/annotations/Task/@{annotationId}</a></p>
<p>For more information visit <a href="@{uri}/annotations/Task/@{annotationId}">@{uri}/annotations/Task/@{annotationId}</a></p>

<p>With best regards,<br />your WEBKNOSSOS team</p>
}
2 changes: 1 addition & 1 deletion conf/webknossos.latest.routes
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ GET /tracingstores/:name/dataSource
GET /tracingstores/:name/dataSourceId controllers.WKRemoteTracingStoreController.dataSourceIdForTracing(name: String, key: String, tracingId: String)
GET /tracingstores/:name/dataStoreUri/:datasetName controllers.WKRemoteTracingStoreController.dataStoreUriForDataset(name: String, key: String, organizationName: Option[String], datasetName: String)

# User access tokens for datastore authentification
# User access tokens for datastore authentication
POST /userToken/generate controllers.UserTokenController.generateTokenForDataStore()

# Annotations
Expand Down
2 changes: 1 addition & 1 deletion conf/webknossos.versioned.routes
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
# new in v5: annotation layers (changed annotation json result, changed createExplorational params)
# new in v4: project queried by id, not name (changed route parameters)
# new in v3: annotation info and finish request now take timestamp
# new in v2: annotation json constains visibility enum instead of booleans
# new in v2: annotation json contains visibility enum instead of booleans

-> /v6/ webknossos.latest.Routes

Expand Down
2 changes: 1 addition & 1 deletion docs/data_formats.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ A dataset consists of one or more layers.
For microscopy/CT/MRI data, there is usually a `color` layer that holds the raw grayscale image data.
Additionally, there may be one or more `segmentation` layers that hold manually or automatically generated volume annotations (one ID per voxel).

A WEBKNOSSOS dataset can contain several `color` and `segmentation` layers which can be rendered individually or overlayed on top of each other. The maximum number of visible layers depends on your GPU hardware - typically 16 layers.
A WEBKNOSSOS dataset can contain several `color` and `segmentation` layers which can be rendered individually or overlaid on top of each other. The maximum number of visible layers depends on your GPU hardware - typically 16 layers.

![Color and Segmentation Layers](images/datalayers.jpeg)

Expand Down
2 changes: 1 addition & 1 deletion docs/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ We have years of experience with automated machine learning analysis and [offer
We are also always interested in new collaborations.
Get in touch if you want to work together on a project resulting in new classifiers.

WEBKNOSSOS does not allow you to run custom machine learning models on your data yet. As a work-around you can download your annotations from WEBKNOSSOS - either manually or scripted [through our Python libarary](https://docs.webknossos.org/webknossos-py) - and do your ML analysis offline and use WEBKNOSSOS to inspect the results.
WEBKNOSSOS does not allow you to run custom machine learning models on your data yet. As a work-around you can download your annotations from WEBKNOSSOS - either manually or scripted [through our Python library](https://docs.webknossos.org/webknossos-py) - and do your ML analysis offline and use WEBKNOSSOS to inspect the results.

## How can I use my dataset with WEBKNOSSOS?

Expand Down
Loading

0 comments on commit de6bbd4

Please sign in to comment.