broh5


Namebroh5 JSON
Version 1.3.1 PyPI version JSON
download
home_pagehttps://github.com/algotom/broh5
SummaryBrowser-based GUI HDF Viewer in Python
upload_time2024-07-21 19:28:51
maintainerNone
docs_urlNone
authorNghia Vo
requires_python>=3.8
licenseApache 2.0
keywords hdf viewer nxs viewer browser-based gui
VCS
bugtrack_url
requirements numpy h5py hdf5plugin pillow matplotlib nicegui
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # BroH5
(**Bro**)wser-based GUI (**H**)DF(**5**) Viewer in Python

Web browser-based GUI software is increasingly popular for its cross-platform 
compatibility, but typically requires web programming knowledge. 

The [Nicegui](https://nicegui.io/) framework simplifies this, enabling pure 
Python development of browser-based GUIs. This project uses Nicegui to create 
an HDF viewer, showcasing its effectiveness for local app development. 
Unlike other apps such as Hdfviewer, Vitables, Nexpy, or H5web, 
which are built using C, Java, Qt/PyQt, or HTML/JavaScript; this project is 
unique in being a browser-based GUI, but written entirely in Python 
with a minimal codebase.

Features
--------

- A browser-based GUI software for viewing HDF (Hierarchical Data Format) file 
  written in pure Python with minimal codebase.
- The software provides essential tools for viewing hdf files such as: 
  displaying tree structures or paths to datasets/groups; and presenting 
  datasets as values, images, plots, or tables. Users also can save datasets 
  to images or csv formats.

  ![Fig_01](https://github.com/algotom/broh5/raw/main/figs/fig_01.png)
  
  ![Fig 04](https://github.com/algotom/broh5/raw/main/figs/fig_04.png)

  ![Fig 05](https://github.com/algotom/broh5/raw/main/figs/fig_05.png)
    
  ![Fig_02](https://github.com/algotom/broh5/raw/main/figs/fig_02.png)

- Broh5 can view compressed hdf files by using compressors from
  [hdf5plugin](https://pypi.org/project/hdf5plugin/).

- The codebase is designed using the RUI (Rendering-Utilities-Interactions) 
  concept, which is known as the MVC (Model-View-Controller) pattern in the 
  GUI development community. This design allows for the development 
  of complex software and makes it easier to extend its capabilities.

Installation
------------

Broh5 can be installed using [pip](https://pypi.org/project/broh5/),
[conda](https://anaconda.org/conda-forge/broh5), or directly from the
[source](https://broh5.readthedocs.io/en/latest/toc/installation.html#installing-from-source). 
Users can also generate a [standalone executable file](https://broh5.readthedocs.io/en/latest/toc/installation.html#generating-a-standalone-executable-file) 
for convenient usage. Details are at:

  - https://broh5.readthedocs.io/en/latest/toc/installation.html

Documentation
-------------

Documentation page is at: https://broh5.readthedocs.io. Brief functionalities of broh5:

  - Users can open a hdf file by clicking the "Select file" button. Multiple hdf 
    files can be opened sequentially.
  - Upon opening, the tree structure of the current hdf file is displayed, allowing 
    users to navigate different branches (hdf groups) or leaves (hdf datasets). 
    The path to datasets/groups is also displayed. If a dataset contains a string 
    or a single float/integer value, it will be shown.
  - If dataset is a 3D array, it's presented as an image. Users can slice 
    through various images and adjust the contrast. Slicing is available for 
    different axes; however, for large datasets, slicing along axis 2 is disabled 
    due to processing time. Starting from version 1.3.0, users can choose to display 
    a **zoomed area** of the current image or the **intensity profile** across a mouse-clicked location.
        
  - Datasets that are 1D or 2D arrays will be shown as plots or tables, selectively.
  - Users have the option to save images or tables to disk.

Update notes
------------
- 30/10/2023: Published codes, deployed on pip and conda.
- 11/02/2024: Added tab for displaying image histogram and statistical information.
- 30/04/2024: Allow to open/save from the last opened folder.
- 04/07/2024: Added features for image zooming and intensity profile plotting
 
Author
------

Nghia T. Vo - NSLS-II, Brookhaven National Lab, USA.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/algotom/broh5",
    "name": "broh5",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "HDF Viewer, NXS Viewer, Browser-based GUI",
    "author": "Nghia Vo",
    "author_email": "nvo@bnl.gov",
    "download_url": "https://files.pythonhosted.org/packages/da/0c/50fb99584211b01536e2300f4b5ebe3ed87240567d67ff683e32385bf4fc/broh5-1.3.1.tar.gz",
    "platform": "Any",
    "description": "# BroH5\r\n(**Bro**)wser-based GUI (**H**)DF(**5**) Viewer in Python\r\n\r\nWeb browser-based GUI software is increasingly popular for its cross-platform \r\ncompatibility, but typically requires web programming knowledge. \r\n\r\nThe [Nicegui](https://nicegui.io/) framework simplifies this, enabling pure \r\nPython development of browser-based GUIs. This project uses Nicegui to create \r\nan HDF viewer, showcasing its effectiveness for local app development. \r\nUnlike other apps such as Hdfviewer, Vitables, Nexpy, or H5web, \r\nwhich are built using C, Java, Qt/PyQt, or HTML/JavaScript; this project is \r\nunique in being a browser-based GUI, but written entirely in Python \r\nwith a minimal codebase.\r\n\r\nFeatures\r\n--------\r\n\r\n- A browser-based GUI software for viewing HDF (Hierarchical Data Format) file \r\n  written in pure Python with minimal codebase.\r\n- The software provides essential tools for viewing hdf files such as: \r\n  displaying tree structures or paths to datasets/groups; and presenting \r\n  datasets as values, images, plots, or tables. Users also can save datasets \r\n  to images or csv formats.\r\n\r\n  ![Fig_01](https://github.com/algotom/broh5/raw/main/figs/fig_01.png)\r\n  \r\n  ![Fig 04](https://github.com/algotom/broh5/raw/main/figs/fig_04.png)\r\n\r\n  ![Fig 05](https://github.com/algotom/broh5/raw/main/figs/fig_05.png)\r\n    \r\n  ![Fig_02](https://github.com/algotom/broh5/raw/main/figs/fig_02.png)\r\n\r\n- Broh5 can view compressed hdf files by using compressors from\r\n  [hdf5plugin](https://pypi.org/project/hdf5plugin/).\r\n\r\n- The codebase is designed using the RUI (Rendering-Utilities-Interactions) \r\n  concept, which is known as the MVC (Model-View-Controller) pattern in the \r\n  GUI development community. This design allows for the development \r\n  of complex software and makes it easier to extend its capabilities.\r\n\r\nInstallation\r\n------------\r\n\r\nBroh5 can be installed using [pip](https://pypi.org/project/broh5/),\r\n[conda](https://anaconda.org/conda-forge/broh5), or directly from the\r\n[source](https://broh5.readthedocs.io/en/latest/toc/installation.html#installing-from-source). \r\nUsers can also generate a [standalone executable file](https://broh5.readthedocs.io/en/latest/toc/installation.html#generating-a-standalone-executable-file) \r\nfor convenient usage. Details are at:\r\n\r\n  - https://broh5.readthedocs.io/en/latest/toc/installation.html\r\n\r\nDocumentation\r\n-------------\r\n\r\nDocumentation page is at: https://broh5.readthedocs.io. Brief functionalities of broh5:\r\n\r\n  - Users can open a hdf file by clicking the \"Select file\" button. Multiple hdf \r\n    files can be opened sequentially.\r\n  - Upon opening, the tree structure of the current hdf file is displayed, allowing \r\n    users to navigate different branches (hdf groups) or leaves (hdf datasets). \r\n    The path to datasets/groups is also displayed. If a dataset contains a string \r\n    or a single float/integer value, it will be shown.\r\n  - If dataset is a 3D array, it's presented as an image. Users can slice \r\n    through various images and adjust the contrast. Slicing is available for \r\n    different axes; however, for large datasets, slicing along axis 2 is disabled \r\n    due to processing time. Starting from version 1.3.0, users can choose to display \r\n    a **zoomed area** of the current image or the **intensity profile** across a mouse-clicked location.\r\n        \r\n  - Datasets that are 1D or 2D arrays will be shown as plots or tables, selectively.\r\n  - Users have the option to save images or tables to disk.\r\n\r\nUpdate notes\r\n------------\r\n- 30/10/2023: Published codes, deployed on pip and conda.\r\n- 11/02/2024: Added tab for displaying image histogram and statistical information.\r\n- 30/04/2024: Allow to open/save from the last opened folder.\r\n- 04/07/2024: Added features for image zooming and intensity profile plotting\r\n \r\nAuthor\r\n------\r\n\r\nNghia T. Vo - NSLS-II, Brookhaven National Lab, USA.\r\n",
    "bugtrack_url": null,
    "license": "Apache 2.0",
    "summary": "Browser-based GUI HDF Viewer in Python",
    "version": "1.3.1",
    "project_urls": {
        "Download": "https://github.com/algotom/broh5.git",
        "Homepage": "https://github.com/algotom/broh5"
    },
    "split_keywords": [
        "hdf viewer",
        " nxs viewer",
        " browser-based gui"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5b2f0d3ea998a65e91105760fec6ab4cf66c72c3b1ff3f9b886b338d0930f2f6",
                "md5": "7333aec73a15b76e5f1dc0a222b01a66",
                "sha256": "3628d723b1ad6855fe5c7c945545098559362f617b6567f10fb936c8641d84ff"
            },
            "downloads": -1,
            "filename": "broh5-1.3.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7333aec73a15b76e5f1dc0a222b01a66",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 24292,
            "upload_time": "2024-07-21T19:28:50",
            "upload_time_iso_8601": "2024-07-21T19:28:50.454598Z",
            "url": "https://files.pythonhosted.org/packages/5b/2f/0d3ea998a65e91105760fec6ab4cf66c72c3b1ff3f9b886b338d0930f2f6/broh5-1.3.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "da0c50fb99584211b01536e2300f4b5ebe3ed87240567d67ff683e32385bf4fc",
                "md5": "cc8801a20d3a1a30849505db5ff4807b",
                "sha256": "edf195f7fcb5ca0040f517bc31d0500c1aec400d9d84c0164e0bf026bee356cd"
            },
            "downloads": -1,
            "filename": "broh5-1.3.1.tar.gz",
            "has_sig": false,
            "md5_digest": "cc8801a20d3a1a30849505db5ff4807b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 24467,
            "upload_time": "2024-07-21T19:28:51",
            "upload_time_iso_8601": "2024-07-21T19:28:51.798521Z",
            "url": "https://files.pythonhosted.org/packages/da/0c/50fb99584211b01536e2300f4b5ebe3ed87240567d67ff683e32385bf4fc/broh5-1.3.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-07-21 19:28:51",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "algotom",
    "github_project": "broh5",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "numpy",
            "specs": [
                [
                    ">",
                    "1.21"
                ]
            ]
        },
        {
            "name": "h5py",
            "specs": [
                [
                    ">",
                    "3.7"
                ]
            ]
        },
        {
            "name": "hdf5plugin",
            "specs": []
        },
        {
            "name": "pillow",
            "specs": []
        },
        {
            "name": "matplotlib",
            "specs": []
        },
        {
            "name": "nicegui",
            "specs": [
                [
                    ">=",
                    "1.4.21"
                ]
            ]
        }
    ],
    "lcname": "broh5"
}
        
Elapsed time: 0.29868s