Skip to content

Jsalas424/eiEAM

Repository files navigation

# eiEAM

<!-- badges: start -->
<!-- badges: end -->

eiEAM - Old Mc'Tschabrunn had a farm, eee eye eee eye mapping techniques emphasizing high-density acquisition has led to EP suffering from "Big Data" challenges. This library includes tools for accurate and reproducible analysis of high-density electroanatomic mapping (EAM) data including nearest neighbors co-registration, mesh reprocessing, and statistical analyses.

## Installation

```{r}
# install.packages("devtools")
devtools::install_github("Jsalas424/eiEAM")
```

## Interactive Mesh Visualization 🎮

The eiEAM package includes powerful interactive 3D visualization tools. Since GitHub README files don't support interactive content, we provide two ways to explore the meshes interactively:

### Option 1: Shiny App (Recommended)

Launch our full-featured Shiny application for real-time mesh manipulation:

```r
library(eiEAM)

# Launch the interactive mesh viewer
launch_mesh_viewer()
```

Features:
- Real-time parameter adjustment
- Side-by-side mesh comparison
- Batch processing for multiple configurations
- Export capabilities
- Full documentation included

### Option 2: Standalone HTML Files

Generate interactive HTML files that can be opened in any web browser:

```{r}
library(eiEAM)

# Generate interactive HTML visualizations
generate_mesh_html()

# This creates several files in your working directory:
# - eiEAM_original_mesh.html
# - eiEAM_remeshed_4mm.html
# - eiEAM_mesh_comparison.html
```

## Quick Start Example

```{r}
library(eiEAM)
library(rgl)
library(Rvcg)

# Create a sample mesh
mesh <- rgl::icosahedron3d()

# Perform isotropic remeshing
result <- eam_isotropic_remesh(
  mesh3d_obj = mesh,
  target_edge_length = 0.5,
  iterations = 3
)

# View statistics
cat("Original vertices:", result$original_vertex_count, "\n")
cat("Remeshed vertices:", result$roi_vertex_count, "\n")
cat("Faces:", result$face_count, "\n")

# For interactive visualization, use:
launch_mesh_viewer()
```

## Core Functions

### Mesh Processing
- `eam_isotropic_remesh()` - Isotropic remeshing with ROI optimization
- `create_wireframe_mesh()` - Generate wireframe visualization data

### Nearest Neighbor Algorithms
- `n_nearest_neighbors()` - Find n nearest neighbors
- `fr_nearest_neighbors()` - Fixed radius nearest neighbors

### Statistical Utilities
- `lognormal_mean()`, `lognormal_var()`, `lognormal_sd()` - Log-normal distribution statistics
- `pooled_sd()` - Calculate pooled standard deviation
- `mode()` - Statistical mode
- `create_summary_table()` - Create formatted summary statistics tables

### Data Management
- `combine_rds_pacing_dir_v2()` - Combine dataframes across pacing directions

## Interactive Visualization Requirements

For the interactive features, you'll need these additional packages:

```{r}
install.packages(c("shiny", "shinydashboard", "plotly", "DT", "htmlwidgets"))
```

## System Requirements

- R (>= 4.0.0)
- For 3D visualization: OpenGL support
- For interactive features: Modern web browser

## Documentation

Comprehensive documentation is available:

```{r}
# Package documentation
?eiEAM

# Function-specific help
?eam_isotropic_remesh
?launch_mesh_viewer

# Or view all documentation
help(package = "eiEAM")
```

## Deployed Examples

You can also view live examples without installing the package:

- [Interactive Demo](https://your-shinyapps-url.shinyapps.io/eieam-mesh-viewer/) (Coming soon)
- [Static Examples Gallery](https://your-github-pages-url.github.io/eiEAM/) (Coming soon)

## Citation

If you use eiEAM in your research, please cite:

```
Salas J (2025). eiEAM: Electroanatomical Mapping Post-Processing Tools.
R package version 0.1. https://github.com/Jsalas424/eiEAM
```

## License

MIT + file LICENSE

## Author

Jonathan Salas (Jsalas424@gmail.com)
ORCID: 0009-0001-4508-7336

About

Old Mc'Tschabrunn had a farm

Resources

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.md

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages