HiMAP: Hidden Markov for Advanced Prognostics

HiMAP: Hidden Markov for Advanced Prognostics - Published in JOSS (2026)

https://github.com/groupisp/himap

Science Score: 94.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 7 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    2 of 5 committers (40.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software
Last synced: 27 days ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: GroupiSP
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Size: 7.86 MB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 1
  • Open Issues: 0
  • Releases: 4
Created over 1 year ago · Last pushed about 2 months ago
Metadata Files
Readme Contributing License Citation Notice

README.md

HiMAP: Hidden Markov models for Advanced Prognostics

HiMAP is a Python package for implementing hidden Markov Models (HMMs) and hidden semi-Markov Models (HSMMs) tailored for prognostic applications. It provides a probabilistic framework for predicting Remaining Useful Life (RUL) and modeling complex degradation processes without requiring labeled datasets.

Table of Contents

Citing

DOI

If you use HiMAP, please cite the software using the DOI for the release you used (recommended for reproducibility). Zenodo also provides a concept DOI that represents all versions.

  • Version DOI (recommended): https://doi.org/10.5281/zenodo.18418216
  • Concept DOI (all versions): https://doi.org/10.5281/zenodo.18418215

You can also use the citation information provided by GitHub via the “Cite this repository” button (generated from CITATION.cff).

Requirements

[!WARNING] A C++ compiler is required to build the .pyx files.

Windows users:

Microsoft Visual C/C++ (MSVC) 14.0 or higher is required to build the .pyx files.

https://visualstudio.microsoft.com/visual-cpp-build-tools/

(Download Build Tool - After Visual Studio Installer is ready, choose Desktop development with C++)

Linux users:

The GNU C Compiler (gcc) is usually present. Next to a C compiler, Cython requires the Python header files. On Ubuntu or Debian run the following command:

sudo apt-get install build-essential python3-dev

[!Note] For more information refer to the Cython package documentation:

https://cython.readthedocs.io/en/latest/src/quickstart/install.html

Installation

You can install HiMAP in two ways:

Option 1: Install via pip

The easiest way to install HiMAP is through pip. Simply run the following command:

bash pip install himap

[!Note] To install the package, you need Python>=3.9

Option 2: Install from Source Code

If you prefer to install HiMAP directly from the source, follow these steps:

  1. Create a virtual environment and activate it. (This example will be demonstrated with Anaconda, but it is not required.)

Step 1a

conda create -n himap_env python=3.12

Step 1b

conda activate himap_env

  1. This repository can be directly pulled through GitHub by the following commands:

Step 2a conda install git

Step 2b git clone https://github.com/GroupiSP/himap.git

Step 2c cd himap

  1. The dependencies can be installed using the requirements.txt file pip install -r requirements.txt

  2. To compile the Cython code, run the following commands: python setup_cython.py build_ext --inplace

[!Note] For detailed usage instructions, guides, and API references, please visit our comprehensive documentation: Read the docs

Structure

``` ../root/ └── LICENSE └── README.md └── requirements.txt └── ...

  ├── himap/                                                        -- Required
      └── ab.py                                                     -- Required
      └── base.py                                                   -- Required
      └── main.py                                                   -- Required
      └── plot.py                                                   -- Required
      └── smoothed.pyd                                              -- Required
      └── utils.py                                                  -- Required

      ├── cython_build/                                             -- Required
          └── __init__.py                                           -- Required      
          └── fwd_bwd.pyx                                           -- Required
          └── setup.py                                              -- Required


      ├── example_data/                                             -- Required      
          └── test_FD001_disc_20_mod.csv                            -- Required
          └── train_FD001_disc_20_mod.csv                           -- Required

      ├── results/                                                  -- Automatically generated      
          ├── dictionaries                                          -- Automatically generated
          ├── figures/                                              -- Automatically generated
          ├── models/                                               -- Automatically generated

```

Example

Run from the rebuild repo

To describe how to train and use the HMM and HSMM models, we show an example below. To run the code from the terminal with default values, use the following command from the root directory of the repository:

python -m himap.main

This runs the HMM model for the C-MAPSS dataset by default and fits the best model utilizing the Bayesian Information Criterion.

If you want to fit the HSMM model to the C-MAPSS data run the command:

python -m himap.main --hsmm True

If you want to run the example utilizing Monte Carlo Sampling generated data run the command:

python -m himap.main --mc_sampling True

See the main.py file for different existing variables and options.

Run from the installed package

The example can be also run via the distribution. After installing the package in the virtual environment you can run

python -m himap.main and use the same arguments as previously for the different example options.

[!Note] The CLI is used only for demonstration purposes. For more control and customization, you can directly import the relevant functions and classes from the himap package in your own scripts or Jupyter notebooks.

Results

The results are saved inside the directory root/himap/results/

Contributors

License

As of v1.1.0 (2025-08-25), HiMAP is licensed under the Apache License 2.0. Prior releases remain under their original licenses.

See LICENSE and NOTICE.

Owner

  • Login: GroupiSP
  • Kind: user

JOSS Publication

HiMAP: Hidden Markov for Advanced Prognostics
Published
May 01, 2026
Volume 11, Issue 121, Page 9491
Authors
Thanos Kontogiannis ORCID
Intelligent System Prognostics for Operations and Maintenance Group, Aerospace Structures and Materials Department, Faculty of Aerospace Engineering, Delft University of Technology, Kluyverweg 1, 2629HS Delft, the Netherlands
Mariana Salinas-Camus ORCID
Intelligent System Prognostics for Operations and Maintenance Group, Aerospace Structures and Materials Department, Faculty of Aerospace Engineering, Delft University of Technology, Kluyverweg 1, 2629HS Delft, the Netherlands
Nick Eleftheroglou
Intelligent System Prognostics for Operations and Maintenance Group, Aerospace Structures and Materials Department, Faculty of Aerospace Engineering, Delft University of Technology, Kluyverweg 1, 2629HS Delft, the Netherlands
Editor
Pierre de Buyl ORCID
Tags
hidden markov models stochastic models prognostics remaining useful life

Citation (CITATION.cff)

cff-version: 1.3.0
message: "If you use HiMAP, please cite it as below."
title: "HiMAP: Hidden Markov models for Advanced Prognostics"
type: software
version: "v1.3.0"
date-released: "2025-01-29"
license: "Apache-2.0"
repository-code: "https://github.com/GroupiSP/himap"
url: "https://himap.readthedocs.io/en/latest/"
doi: "10.5281/zenodo.18418216"

identifiers:
  - type: doi
    value: "10.5281/zenodo.18418215"
    description: "Concept DOI (all versions)"
  - type: doi
    value: "10.5281/zenodo.18418216"
    description: "Version DOI (v1.3.0)"

authors:
  - family-names: Kontogiannis
    given-names: Thanos
  - family-names: Salinas-Camus
    given-names: Mariana
  - family-names: Eleftheroglou
    given-names: Nick

GitHub Events

Total
  • Release event: 6
  • Delete event: 11
  • Member event: 1
  • Pull request event: 17
  • Fork event: 1
  • Issues event: 1
  • Watch event: 1
  • Public event: 3
  • Push event: 71
  • Create event: 17
Last Year
  • Release event: 2
  • Delete event: 9
  • Pull request event: 14
  • Fork event: 1
  • Issues event: 1
  • Watch event: 1
  • Push event: 28
  • Create event: 11

Committers

Last synced: 2 months ago

All Time
  • Total Commits: 140
  • Total Committers: 5
  • Avg Commits per committer: 28.0
  • Development Distribution Score (DDS): 0.414
Past Year
  • Commits: 36
  • Committers: 4
  • Avg Commits per committer: 9.0
  • Development Distribution Score (DDS): 0.389
Top Committers
Name Email Commits
Thanos Kontogiannis a****s@t****l 82
Mariana Salinas Camus 1****c 38
iSP Group 1****P 9
msalinascamus m****s@g****m 8
Mariana Salinas Camus m****s@t****l 3
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 1
  • Total pull requests: 6
  • Average time to close issues: N/A
  • Average time to close pull requests: about 22 hours
  • Total issue authors: 1
  • Total pull request authors: 3
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 6
  • Average time to close issues: N/A
  • Average time to close pull requests: about 22 hours
  • Issue authors: 1
  • Pull request authors: 3
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • robmoss (1)
Pull Request Authors
  • thanoskont (3)
  • mariana-sc (2)
  • GroupiSP (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 34 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 4
  • Total maintainers: 2
pypi.org: himap

HiMAP: Hidden Markov models for Advanced Prognostics!

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 34 Last month
Rankings
Dependent packages count: 9.6%
Average: 31.9%
Dependent repos count: 54.1%
Maintainers (2)
Last synced: about 2 months ago

Dependencies

requirements.txt pypi
  • Cython ==0.29.35
  • matplotlib ==3.7.1
  • numba ==0.60
  • numpy ==1.23.5
  • pandas ==1.5.3
  • scikit_learn ==1.3.0
  • scipy ==1.10.0
  • tqdm ==4.65.0
docs/requirements_docs.txt pypi
  • Cython ==0.29.35
  • autodocsumm *
  • matplotlib ==3.7.1
  • numba ==0.60
  • numpy ==1.23.5
  • pandas ==1.5.3
  • scikit_learn ==1.3.0
  • scipy ==1.10.0
  • sphinx *
  • sphinx-autodoc-typehints *
  • sphinx_rtd_theme *
  • sphinxcontrib-napoleon *
  • tqdm ==4.65.0
pyproject.toml pypi
  • Cython >=0.29.35
  • matplotlib >=3.7.1
  • numba >=0.60
  • numpy >=1.23.5
  • pandas >=1.5.3
  • scikit_learn >=1.3.0
  • scipy >=1.10.0
  • tqdm >=4.65.0
setup.py pypi