Skip to content

Commit

Permalink
Merge pull request #1 from predict-idlab/3Dlandmarker
Browse files Browse the repository at this point in the history
🏗️ Extend package to 3D images and heatmaps.
  • Loading branch information
jejon authored Jun 13, 2024
2 parents fcbc211 + 90848e0 commit 243eb5c
Show file tree
Hide file tree
Showing 15 changed files with 2,247 additions and 811 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@ name: Tests

on:
push:
branches: [main]
branches: '**'
pull_request:
branches: '**'

jobs:
build:
Expand Down
8 changes: 3 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
[![Testing](https://github.com/predict-idlab/landmarker/actions/workflows/tests.yml/badge.svg)](https://github.com/predict-idlab/landmarker/actions/workflows/tests.yml)


Landmarker is a [PyTorch](https://pytorch.org/)-based toolkit for (anatomical) landmark detection in images. It is designed to be easy to use and to provide a flexible framework for state-of-the-art landmark detection algorithms for small and large datasets. Landmarker was developed for landmark detection in medical images. However, it can be used for any type of landmark detection problem.
Landmarker is a [PyTorch](https://pytorch.org/)-based toolkit for (anatomical) landmark detection in 2D/3D images. It is designed to be easy to use and to provide a flexible framework for state-of-the-art landmark detection algorithms for small and large datasets. Landmarker was developed for landmark detection in medical images. However, it can be used for any type of landmark detection problem.

## 🛠️ Installation

Expand All @@ -28,13 +28,11 @@ Technical documentation is available at [documentation](https://predict-idlab.gi
Examples and tutorials are available at [examples](https://predict-idlab.github.io/landmarker/examples/index.html)

## ✨ Features
- **Modular**: Landmarker is designed to be modular. It is easy to add new models, datasets, and loss functions.
- **Flexible**: Landmarker provides a flexible framework for landmark detection. It is easy to customize the training and evaluation process.
- **Easy to use**: Landmarker is easy to use. It provides a simple API for training and evaluation.
- **Modular**: Landmarker is designed to be modular. Almost all components can be used independently.
- **Flexible**: Landmarker provides a flexible framework for landmark detection, allowing you to easily customize your model, loss function, and data loaders.
- **State-of-the-art**: Landmarker provides state-of-the-art landmark detection models and loss functions.

## 📈 Future Work
- Extension to 3D landmark detection.
- Extension to landmark detection in videos.
- Add uncertainty estimation.
- ...
Expand Down
446 changes: 213 additions & 233 deletions src/landmarker/data/landmark_dataset.py

Large diffs are not rendered by default.

18 changes: 9 additions & 9 deletions src/landmarker/heatmap/__init__.py
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
"""
Heatmap module.
"""
from .generator import LaplacianHeatmapGenerator, GaussianHeatmapGenerator

from .decoder import (
coord_argmax,
coord_cov_from_gaussian_ls,
coord_cov_windowed_weigthed_sample_cov,
coord_local_soft_argmax,
coord_weighted_spatial_mean,
coord_soft_argmax,
heatmap_to_coord,
heatmap_to_coord_enlarge,
coord_soft_argmax_cov,
coord_weighted_spatial_mean,
coord_weighted_spatial_mean_cov,
heatmap_to_coord_cov,
coord_cov_from_gaussian_ls,
cov_from_gaussian_ls,
heatmap_coord_to_weighted_sample_cov,
weighted_sample_cov,
coord_cov_windowed_weigthed_sample_cov,
heatmap_to_coord,
heatmap_to_coord_cov,
heatmap_to_coord_enlarge,
heatmap_to_multiple_coord,
non_maximum_surpression,
non_maximum_surpression_local_soft_argmax,
weighted_sample_cov,
)
from .generator import GaussianHeatmapGenerator, LaplacianHeatmapGenerator

__all__ = [
"LaplacianHeatmapGenerator",
Expand Down
Loading

0 comments on commit 243eb5c

Please sign in to comment.