{"id":20048903,"url":"https://github.com/sintef/pysilcam","last_synced_at":"2025-08-25T12:25:03.765Z","repository":{"id":41242401,"uuid":"254093654","full_name":"SINTEF/PySilCam","owner":"SINTEF","description":"SINTEF SilCam acquisition, processing and plotting","archived":false,"fork":false,"pushed_at":"2024-05-31T14:33:49.000Z","size":5930,"stargazers_count":8,"open_issues_count":40,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-05T10:40:55.697Z","etag":null,"topics":["classification","imaging","marine","particles","python"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SINTEF.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-04-08T13:20:36.000Z","updated_at":"2024-02-07T14:28:53.000Z","dependencies_parsed_at":"2024-03-26T10:49:30.381Z","dependency_job_id":"2bbd506a-8114-4744-845c-ddd1f424361e","html_url":"https://github.com/SINTEF/PySilCam","commit_stats":{"total_commits":1063,"total_committers":20,"mean_commits":53.15,"dds":0.4684854186265287,"last_synced_commit":"47e6dd8620f01bd2935a020fdef0b23117461304"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SINTEF/PySilCam","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SINTEF%2FPySilCam","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SINTEF%2FPySilCam/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SINTEF%2FPySilCam/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SINTEF%2FPySilCam/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SINTEF","download_url":"https://codeload.github.com/SINTEF/PySilCam/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SINTEF%2FPySilCam/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272063717,"owners_count":24866788,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-25T02:00:12.092Z","response_time":1107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["classification","imaging","marine","particles","python"],"created_at":"2024-11-13T11:47:21.652Z","updated_at":"2025-08-25T12:25:03.700Z","avatar_url":"https://github.com/SINTEF.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"PySilCam\n===============================\n\n![Docker build and test](https://github.com/SINTEF/PySilCam/workflows/Docker%20build%20and%20test/badge.svg)\n\nA Python interface to the SilCam.\n\nFor user-level descriptions and guidance, please see the [wiki](https://github.com/SINTEF/PySilCam/wiki).\n\nDocumentation for PySilCam code can be found here: https://pysilcam.readthedocs.io\n\nFeatures\n--------\n\n* Acqusition of images from SilCam.\n* Real-time processing of SilCam images, particle statistics.\n* Processing images from disk (batch or real-time).\n\nRequirements\n------------\n\n* Python = 3.5\n\n* Pymba (camera acquisition) with Python 3 support. Install using\n\n```bash\npip install git+https://github.com/mabl/pymba@python3\n```\n\nInstalling\n----------\n\nIf you are using windows, you need Microsoft Visual C++ Redistributable, which can be downloaded [here](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads)\n\nInstall [Python 3.6 or later](https://github.com/conda-forge/miniforge/#download)\n\nA prompt such as is provided by the [miniforge installation](https://github.com/conda-forge/miniforge/#download) may be used for the following:\n\nCreate a virtual environment using the environment.yml (will create an environment called silcam)\n\n```bash\nconda env create -f environment.yml\n```\n\nto update, we recommend a forced re-install:\n\n```bash\nconda env create -f environment.yml --force\n```\n\nto activate:\n\n```bash\nconda activate silcam\n```\n\nTest that it works with\n\n```bash\npython setup.py develop\n```\n\n```bash\npython setup.py test\n```\n\nBuild the documentation\n\n```bash\npython setup.py build_sphinx\n```\n\nAuto-building of the documentation is performed by Read The Docs, with this project: https://readthedocs.org/projects/pysilcam/\n\nJupyter notebook setup\n------\n\nAfter installing, activate the silcam conda environment. Then run:\n\n'''bash\nconda install -c anaconda ipykernel jupyter\n'''\n\nThen you should be able to see silcam as an available kernel after starting a Jupyter notebook\n\nDocker\n------\n\nThe Dockerfile will spin up an environment where Anaconda Python 3.5 is installed, and the source code folder (this folder) is mapped to /silcam. The _first_ time you must run this command to build a container (or any time the Dockerfile changes)\n\n```bash\ndocker-compose build\n```\n\nNote: you might need sudo here.\n\nTo run the tests inside the Docker environment:\n\n```bash\ndocker-compose up\n```\n\nTo get an interactive shell session with the PySilcam Docker environment run:\n\n```bash\ndocker-compose run --rm --entrypoint /bin/bash silcam\n```\n\nNote: make sure to remove any .pyc files generated on the host system, as these can cause problems inside the Docker environment.\n\nIf you want to mount a local folder inside the docker environment, use -v [local path:docker mount point]:\n\n```bash\ndocker-compose run -v /mnt/ARRAY/:/mnt/ARRAY/ --rm --entrypoint /bin/bash silcam\n```\n\nContributions\n-------------\n\nWe welcome additions and improvements to the code!\n\nHowever, we also request that you follow a few guidelines. These are in place to make sure the code improves over time.\n\n1. All code changes must be submitted as pull requests, either from a branch or a fork.\n2. All pull requests are required to pass all tests. Please do not disable or remove tests just to make your branch pass the pull request.\n3. All pull requests must be reviewed by a person. The benefits from code review are plenty, but we like to emphasise that code reviews help spreading the awarenes of code changes. Please note that code reviews should be a pleasant experience, so be plesant, polite and remember that there is a human being with good intentions on the other side of the screen.\n4. All contributions are linted with flake8. We recommend that you run flake8 on your code while developing to fix any issues as you go.\n5. We recommend using autopep8 to autoformat your Python code (but please check the code behaviour is not affected by autoformatting before pushing). This makes flake8 happy, and makes it easier for us all to maintain a consistent and readable code base.\n\nLicense\n-------\n\nPySilCam is licensed under the BSD3 license. See LICENSE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsintef%2Fpysilcam","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsintef%2Fpysilcam","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsintef%2Fpysilcam/lists"}