{"id":22235051,"url":"https://github.com/biologytools/biolib","last_synced_at":"2026-01-31T19:00:45.863Z","repository":{"id":121709576,"uuid":"608131377","full_name":"BiologyTools/BioLib","owner":"BiologyTools","description":"A GUI-less version of Bio .NET library for editing \u0026 annotating various microscopy image formats. Supports all bioformats supported images. Integrates with ImageJ, running ImageJ filters \u0026 macro functions.","archived":false,"fork":false,"pushed_at":"2026-01-30T11:08:17.000Z","size":69189,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-31T03:57:55.646Z","etag":null,"topics":["geojson","imagej","imagej-macro","imagej-roi","omero","omero-server","qupath"],"latest_commit_sha":null,"homepage":"https://biologytools.github.io/Documentation/BioLib/index.html","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BiologyTools.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-03-01T11:41:31.000Z","updated_at":"2026-01-30T11:08:20.000Z","dependencies_parsed_at":"2023-03-22T16:47:49.621Z","dependency_job_id":"d2d2f22f-811e-4d13-b71a-d8bf501767c4","html_url":"https://github.com/BiologyTools/BioLib","commit_stats":null,"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"purl":"pkg:github/BiologyTools/BioLib","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BiologyTools%2FBioLib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BiologyTools%2FBioLib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BiologyTools%2FBioLib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BiologyTools%2FBioLib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BiologyTools","download_url":"https://codeload.github.com/BiologyTools/BioLib/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BiologyTools%2FBioLib/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28950279,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T18:30:42.805Z","status":"ssl_error","status_checked_at":"2026-01-31T18:30:19.593Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["geojson","imagej","imagej-macro","imagej-roi","omero","omero-server","qupath"],"created_at":"2024-12-03T02:11:39.198Z","updated_at":"2026-01-31T19:00:45.841Z","avatar_url":"https://github.com/BiologyTools.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BioLib\n![Nuget](https://img.shields.io/nuget/dt/BioLib) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.8127022.svg)](https://doi.org/10.5281/zenodo.8127022)\n\nA GUI-less version of Bio .NET library for editing \u0026 annotating various microscopy image formats. Supports all bioformats supported images. Integrates with ImageJ, running ImageJ filters \u0026 macro functions. Supports Windows, Linux and Mac. Check out the [documentation.](https://biologytools.github.io/Documentation/BioLib/index.html)\n\n## Usage\n```\n//First call BioImage.Initialize to \n//initialize the Bioformats library.\nBioImage.Initialize();\n\n//Once initialized you can open OME, ImageJ tiff files, and Bio Tiff files with:\nBioImage b = BioImage.OpenFile(\"file\");\n\n//Or if you want to use specifically the OME image reader you can use BioImage.OpenOME\nBioImage b = BioImage.OpenOME(\"file\");\n\n//If you are working with a pyramidal image you can open a portion of a tiled image with OpenOME.\n//BioImage.OpenOME(string file, int serie, bool tab, bool addToImages, bool tile, int tilex, int tiley, int tileSizeX, int tileSizeY)\n\n//You can specify whether to open in a newtab as well as whether to add the image to \n//the Images.images table. As well as specify whether to open as a tile with the specified \n//tile X,Y position \u0026 tile width \u0026 height.    \nBioImage.OpenOME(\"file\",0,false,false,true,0,0,600,600);\n//This will open a portion of the image as a tile and won't add it to the Images table.\n\n//Once you have opened a tiled image with BioImage.OpenOME you can call the \n//GetTile(BioImage b, ZCT coord, int serie, int tilex, int tiley, int tileSizeX, int tileSizeY) method\n// to quickly get another tile from different portion of the image. For BioGTK \u0026 BioLib\nBitmap bm = BioImage.GetTile(b, new ZCT(0,0,0), 0, 100, 100, 600, 600);\n\n//To get the current coordinate of the ImageView you can call GetCoordinate.\nZCT cord = v.GetCoordinate();\n//or to set the current coordinate\nv.SetCoordinate(new ZCT(1,1,1));\n\n//To create a point as well as any other ROI type you can call the ROI create methods.\nROI p = ROI.CreatePoint(cord, 0, 0);\nROI rect = ROI.CreateRectangle(cord, 0, 0, 100, 100);\n\n//Usage of Graphics class for 16 \u0026 48 bit images as well as regular bit depth images\n//is very similar to System.Graphics.\n//We create a new Graphics object by passing the Bitmap for BioGTK \u0026 BioLib and BufferInfo for BioCore\nGraphics g = Graphics.FromImage(b.Buffers[0]);\n\n//Then we create a pen by passing a ColorS which represent a Color with, \n//a higher bit depth (unsigned short) rather than a byte.\ng.pen = new Pen(new ColorS(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));\n\n//Then we can call the familiar methods DrawLine, DrawPolygon, FillPolygon etc.\ng.DrawLine(0,0,100,100);\n//Finally we dispose the Graphics object.\ng.Dispose();\n\n//We can also save the resulting image given the ID of the image in the Images table.\n//All images opened with BioImage.OpenFile or BioImage.OpenOME are added to the \n//Images.images table with the filename as an ID.\nBioImage.SaveFile(\"file\",\"path\");\n\n//Usage of OMERO class.\nOMERO.Connect(\"demo.openmicroscopy.org\", 4064, \"username\", \"password\");\nstring[] files = OMERO.GetAllFiles().ToArray();\nstring[] dbs = OMERO.GetDatasets().ToArray();\nstring[] fs = OMERO.GetFolders().ToArray(); \nstring[] dbf = OMERO.GetDatasetFiles(\"CZI\").ToArray();\n\n//Usage of QuPath class.\nQuPath.Project qu = QuPath.OpenProject(\"test.qpproj\");\nBioImage[] bms = new BioImage[] { BioImage.OpenFile(\"test.ome.tif\") };\nList\u003cBioImage[]\u003e bims = new List\u003cBioImage[]\u003e();\nbims.Add(bms);\nQuPath.Project qp = QuPath.Project.FromImages(bims, \"test.qpproj\");\nQuPath.Project.SaveProject(\"myproj.qpproj\", bims);\n\n//To convert between different pixel formats we can call for example To24Bit.\nb.To24Bit();\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbiologytools%2Fbiolib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbiologytools%2Fbiolib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbiologytools%2Fbiolib/lists"}