{"id":17244608,"url":"https://github.com/mviereck/microscopy-tools","last_synced_at":"2025-07-11T14:36:39.851Z","repository":{"id":62933315,"uuid":"157108981","full_name":"mviereck/microscopy-tools","owner":"mviereck","description":"Tools for microscopic captures and focus stackshots (beta)","archived":false,"fork":false,"pushed_at":"2024-11-17T18:25:54.000Z","size":301589,"stargazers_count":28,"open_issues_count":6,"forks_count":2,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-21T04:43:45.921Z","etag":null,"topics":["alignment","arduino","camera","camera-configuration","camera-control","enfuse","focus-stackshots","fuse-stackshot-images","imagemagick","micrometer","microscopy","stacking","stackshot","stepper-motor","tethered-shooting"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mviereck.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},"funding":{"github":["mviereck"]}},"created_at":"2018-11-11T18:35:55.000Z","updated_at":"2024-12-17T06:10:22.000Z","dependencies_parsed_at":"2025-04-14T04:07:44.006Z","dependency_job_id":"8a8a9819-140c-4a51-98ab-484cc66817c9","html_url":"https://github.com/mviereck/microscopy-tools","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/mviereck/microscopy-tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mviereck%2Fmicroscopy-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mviereck%2Fmicroscopy-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mviereck%2Fmicroscopy-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mviereck%2Fmicroscopy-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mviereck","download_url":"https://codeload.github.com/mviereck/microscopy-tools/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mviereck%2Fmicroscopy-tools/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264833288,"owners_count":23670617,"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","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":["alignment","arduino","camera","camera-configuration","camera-control","enfuse","focus-stackshots","fuse-stackshot-images","imagemagick","micrometer","microscopy","stacking","stackshot","stepper-motor","tethered-shooting"],"created_at":"2024-10-15T06:26:04.010Z","updated_at":"2025-07-11T14:36:39.832Z","avatar_url":"https://github.com/mviereck.png","language":"Shell","readme":"# microscopy-tools\n\nTools for microscopy and image focus stacking.\n\n - Tools already useful, in active development:\n   - [`imfuse`](#imfuse): Fuse focus stackshot images with ImageMagick. (Terminal)\n   - [`stackprepare`](#stackprepare): Batch processing of image stack for contrast, crop, gamma etc. \n - Tools considered to be (mostly) stable and ready for use:\n   - [`stackalign`](#stackalign): Align image stack with the help of [focus-stack]((https://github.com/PetteriAimonen/focus-stack)) and ImageMagick.\n   - [`imgruler`](#imgruler): Draw a ruler or micrometer into an image. (Terminal)\n - Tools awaiting further development, currently less useful:\n   - [`camcfg`](#camcfg): Terminal dialog frontend for camera configuration. (Terminal)\n - Deprecated, stored for partial code reuse:\n   - [`stackfuser`](#stackfuser): Align, prepare and fuse focus stack images. (GUI)\n   - [`stackshooter`](#stackshooter): Shoot focus stackshots with stepper motor and camera. (GUI)\n\n`stackfuser` and `stackshooter` need some further development and documentation before they can be recommended for general use.\nEspecially they need a new GUI backend because the currently used `kaptain` GUI is outdated and does not run on up-to-date systems.\n\n## imfuse\n\nCombines focus stackshot images to an overall sharp image.\n\n - For all of (many) options see `imfuse --help`.\n - For an overview of imfuse workflow see [wiki: How imfuse works](https://github.com/mviereck/microscopy-tools/wiki/How-imfuse-works)\n - For some examples see [wiki: Examples](https://github.com/mviereck/microscopy-tools/wiki/Examples)\n\nDependencies:\n - `imagemagick` version 7 (command `magick`)\n - `geeqie` and `feh` (optional image viewers)\n - `exiftool` (optional to preserve exif meta data)\n - [`PetteriAimonen/focus-stack`](https://github.com/PetteriAimonen/focus-stack) (optional for option `--align`)\n - `enfuse` (optional, needed for some options)\n\nMuch thanks to the developers and supporters of ImageMagick!\n - Most image processing of imfuse is done by [`ImageMagick`](https://imagemagick.org).\n - imfuse contains code written by [Fred Weinhaus](http://www.fmwconcepts.com/imagemagick) with his friendly permission.\n - imfuse was inspired by [Alan Gibson](https://im.snibgo.com/)'s [focStack.bat](https://im.snibgo.com/focstack.htm).\n\n## stackalign\n\nAligns image stack.\n\nDependencies:\n - [`PetteriAimonen/focus-stack`](https://github.com/PetteriAimonen/focus-stack)\n - `imagemagick`\n\nThe core work is done by `focus-stack`, this tool helps to crop the images to the usable common area.\n\n## stackprepare\n\nBatch processing of image stack for contrast, crop, gamma etc.\n\nDependencies:\n - `imagemagick`\n\n## imgruler\n\nDraws a ruler into an image.\nIntended to draw micrometers into micoscopic captures.\nContains a calibration instruction in english and german.\n\nRuns on Linux, macOS and (in Cygwin) on MS Windows.\nConsidered to be ready for general use.\n\nDependencies:\n - `imagemagick`\n \n## camcfg\n`dialog` frontend for `gphoto2` camera configuration. Reads possible configurations of a camera and provides a dialog in terminal to choose desired settings. Beta stage, already useable.\n - `camcfg` shows all available configurations.\n - `camcfg ENTRY` shows configuration of entry ENTRY. Example: `camcfg iso`\n \nDependencies:\n - `dialog`\n - `gphoto2`\n\n## stackfuser\n\nGUI frontend for image foto stacking with enfuse.\n\nDeprecated, will be replaced by multiple single tools.\n\nProvides:\n - Image preprocessing with `imagemagick` to enhance contrast and sharpness. \n - Image alignment with `ffmpeg`/[vidstab](https://github.com/georgmartius/vid.stab) or `align_image_stack`.\n - Generating multiple overall sharp images from stackshot with `enfuse`. Further combining of these results with `imagemagick`.\n - Animated videos of focus stackshots.\n\nDependencies, most essentiell:\n - `align_image_stack` (hugin tools)\n - `enfuse`\n - `geeqie`\n - `imagemagick`\n - [`imfuse`](#imfuse)\n - [`kaptain`](https://github.com/mviereck/kaptain)\n - `viewnior`\n\nDependencies, also recommended:\n - `ffmpeg`\n - `exiftool`\n - [`imgruler`](#imgruler)\n - `ufraw`\n \n## stackshooter\nGUI for foto stacking with a stepper motor controlled by an Arduino and a camera connected on USB. \nNote: The user must be in group `dialout` to access the Arduino.\n\nDeprecated, will be replaced.\n\nFeatures:\n - Camera control with `gphoto2` for preview videos and tethered shooting.\n - Stepper motor control for focus adjustment.\n - Automated focus stackshots combining camera and stepper motor.\n \n`pololu_a4988.ino` is my code to control my stepper motor driver with an Arduino. The control commands send by `stackshooter` to Arduino can be customized in `stackshooter` configuration dialog.\n\nDependencies:\n - `ffmpeg`\n - `geeqie`\n - `gphoto2`\n - `align_image_stack` (hugin tools)\n - [`kaptain`](https://github.com/mviereck/kaptain)\n - `xinput`\n - `xdotool`\n\n## Example\nImage of some flower pollen. Generated with `stackshooter` and `stackfuser`. \nTechnic: Microscope from [Hund/Wetzlar](https://www.hund.de/en/) with a stepper motor and an arduino. \nCamera: Canon EOS 1000D. \nStackshot result of 240 single captures with slightly different focus:\n\n![screenshot](https://raw.githubusercontent.com/mviereck/microscopy-tools/images/example.jpg)\n\nIconified excerpt of source stackshot:\n\n![screenshot](https://raw.githubusercontent.com/mviereck/microscopy-tools/images/sourcetable.jpg)\n\nAnimated video:\n\n![screenshot](https://raw.githubusercontent.com/mviereck/microscopy-tools/images/animate.gif)\n\n## Related tools\n\n### Free and Open Source\n - [CombineZP](https://github.com/mviereck/CombineZP):\n   Stacker for MS Windows. Works with wine on Linux, too. Good but unfortunately not maintained.\n - [`enfuse`](https://enblend.sourceforge.net/):\n   Enfuse blends differently exposed images of the same scene into a nice output image.\n   Command line tool, used by `stackfuser`.\n - [`Entangle`](https://entangle-photo.org/):\n   Entangle provides a graphical interface for \"tethered shooting\", aka taking photographs with a digital camera completely controlled from the computer.\n - [`PetteriAimonen/focus-stack`](https://github.com/PetteriAimonen/focus-stack):\n   A cross-platform tool for focus stacking images based on wavelet algorithms.\n - [`pulsar123/Macro-scripts`](https://github.com/pulsar123/Macro-scripts):\n   A set of BASH scripts and C++ programs representing a complete workflow for processing macro focus stacking photographs.\n - [`gphoto2`](http://www.gphoto.org/):\n   The gphoto2 library allows access and control of various digital camera models.\n   Command line tool, used by `stackshooter` and `camcfg`.\n - [`hugin`](https://hugin.sourceforge.io/):\n   Hugin is a panorama photo stitching program for several overlapping photos taken from the same location, transforming the photos to one larger image.\n - [`ImageMagick`](https://imagemagick.org):\n   ImageMagick is a powerful software suite to create, edit, and compose bitmap images. \n   Command line tool, used by almost all tools in this repo.\n - [`mfkter`](https://github.com/hqhoang/mftker):\n   GUI for enfuse. Replaces former MacroFusion.\n - [`RawTherapee`](https://www.rawtherapee.com/):\n   RawTherapee is an advanced program for developing raw photos and for processing non-raw photos.\n - ImageMagick scripts:\n   - [Snibgo's ImageMagick pages](https://im.snibgo.com/) (Windows batch scripts.)\n   - [Fred's ImageMagick Scripts](http://www.fmwconcepts.com/imagemagick) (Linux bash scripts.)\n\n### Closed Source freeware\n - [Picolay](http://www.picolay.de/):\n   Stacker for MS Windows. Works with wine on Linux, too.\n - [stacky](https://www.bewie.de/stacky.php):\n   Stacker for MS Windows. Works with wine on Linux, too.\n\n### Closed Source commercial\n - [Helicon Focus](https://www.heliconsoft.com/heliconsoft-products/helicon-focus/):\n   30 days trial version. Available for Mac and Windows.\n - [ZereneStacker](https://zerenesystems.com/cms/stacker):\n   30 days trial version. Available for Linux, Mac and Windows.\n","funding_links":["https://github.com/sponsors/mviereck"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmviereck%2Fmicroscopy-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmviereck%2Fmicroscopy-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmviereck%2Fmicroscopy-tools/lists"}