Skip to content

Commit 60c9950

Browse files
committed
v2.8.0
1 parent 9d3e037 commit 60c9950

File tree

1,007 files changed

+89128
-5731
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,007 files changed

+89128
-5731
lines changed

.git-blame-ignore-revs

Lines changed: 0 additions & 7 deletions
This file was deleted.

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@
55
*.nc filter=lfs diff=lfs merge=lfs -text
66
*.pth filter=lfs diff=lfs merge=lfs -text
77
*.pkl filter=lfs diff=lfs merge=lfs -text
8+
*.tar.* filter=lfs diff=lfs merge=lfs -text

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ _deps
148148

149149
!/ltrace/ltrace/assets/**/*
150150
/tools/deploy/Assets/Tesseract-OCR/
151+
/tools/deploy/manual/
151152
/tools/deploy/Resources/manual/
152153
/tools/deploy/GeoSlicerManual/site/
153154

BUILD.md

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
# Compiling GeoSlicer from Source
2+
3+
This document provides detailed instructions on how to set up your development environment and compile GeoSlicer from the source code. Following these steps will allow you to contribute to the development of GeoSlicer, test new features, and customize the application to your needs.
4+
5+
## 1. Prerequisites
6+
7+
Before you begin, you will need to install the following tools and libraries on your system.
8+
9+
### Common Requirements (All Operating Systems)
10+
11+
- **Python 3.9**: GeoSlicer is built on top of 3D Slicer and requires Python 3.9 for compatibility. We recommend using [Anaconda](https://www.anaconda.com/docs/getting-started/anaconda/install) to manage your Python environment.
12+
13+
To create and activate a new environment with Python 3.9, run the following commands:
14+
15+
```bash
16+
conda create --name geoslicer python=3.9
17+
conda activate geoslicer
18+
```
19+
20+
- **Git LFS**: This repository uses Git LFS to handle large files. You will need to install it on your system.
21+
22+
```bash
23+
git lfs install
24+
```
25+
26+
- **CUDA and cuDNN**: For GPU acceleration, you will need to install CUDA and cuDNN. Make sure you have the correct NVIDIA drivers installed for your system.
27+
28+
1. Download and install **CUDA 11.6.2** from the [NVIDIA archive](https://developer.nvidia.com/cuda-11-6-2-download-archive).
29+
2. Ensure the `CUDA_PATH_V11_6` environment variable is set and valid.
30+
3. Download **cuDNN 8.9.7** for CUDA 11.x from the [NVIDIA developer website](https://developer.nvidia.com/rdp/cudnn-archive).
31+
4. Follow the [cuDNN installation instructions](https://docs.nvidia.com/deeplearning/cudnn/installation/latest/index.html).
32+
33+
- **Tesseract OCR**: Required for optical character recognition (OCR) to automatically detect scale information from images in the `ThinSectionLoader` and `CorePhotographLoader` modules. GeoSlicer uses a specific bundled version of Tesseract.
34+
35+
1. Download the appropriate binary for your operating system:
36+
* **Windows**: [Tesseract-OCR.zip](https://objectstorage.sa-saopaulo-1.oraclecloud.com/p/qf5DrnmKQny4OFCSxJnt0ugFr5Fl9cw-XnDCCJi5YUSgcO_EDVG47CUvsqmnloV8/n/grrjnyzvhu1t/b/share/o/GeoSlicer/Tesseract-OCR.zip)
37+
* **Linux**: [Tesseract-OCR.tar.xz](https://objectstorage.sa-saopaulo-1.oraclecloud.com/p/m1Sl39ffuHsWPIwCv929-wZJ8HS2FWS44ok45LMeGGobOKZ8SyCZhvX-0r2I1a3N/n/grrjnyzvhu1t/b/share/o/GeoSlicer/Tesseract-OCR.tar.xz) (This is a Tesseract 4.1.1 AppImage).
38+
2. Place the downloaded archive in the `tools/deploy/Assets/` folder of the repository.
39+
3. **Linux Users**: The Linux binary is an AppImage, which requires FUSE to run. See the [Linux-Specific Requirements](#linux-specific-requirements) section for details on installing FUSE.
40+
41+
For more information about Tesseract, visit the [official Tesseract OCR GitHub page](https://github.com/tesseract-ocr/tesseract).
42+
43+
### Windows-Specific Requirements
44+
45+
- **Visual Studio Community 2019**: Windows developers will need the C++ Build Tools, which are available in [Visual Studio Community 2019](https://visualstudio.microsoft.com/vs/older-downloads/). During the installation, make sure to select the **MSVC v142 for x64/x86 (14.29)** individual component.
46+
47+
### Linux-Specific Requirements
48+
49+
- **FUSE**: GeoSlicer uses a pre-built binary of Tesseract OCR, which is packaged as an AppImage. To run AppImages on Linux, you will need to install the FUSE library. You can find instructions on how to install it in the [AppImage documentation](https://github.com/AppImage/AppImageKit/wiki/FUSE).
50+
51+
52+
## 2. GeoSlicerBase
53+
54+
GeoSlicer is built on top of a modified version of 3D Slicer called **GeoSlicerBase**. You have two options for obtaining it:
55+
56+
- **Download the pre-built binaries (Recommended)**: This is the easiest and fastest way to get started. You can download the pre-built binaries for your operating system from the links below:
57+
58+
* [Windows amd64](https://objectstorage.sa-saopaulo-1.oraclecloud.com/p/j3-M11OKFLGFcWJGYr4hUQnW8u4sFruUATaH2IcaoSp4f8PcRCisaQH6mH2rtGv0/n/grrjnyzvhu1t/b/General_ltrace_files/o/GeoSlicer/base/release/win32/GeoSlicer-2.2.2-2024-11-21-win-amd64.zip)
59+
* [Linux amd64](https://objectstorage.sa-saopaulo-1.oraclecloud.com/p/jy3VVQsDEJb9lVRLUz-6Iu_FBwPpw8ooCPdHP9aXKfEJPvWrFPt2Gy2hxwSy3mnq/n/grrjnyzvhu1t/b/General_ltrace_files/o/GeoSlicer/base/release/linux/GeoSlicer-2.2.2-2024-11-21-linux-amd64.tar.gz)
60+
- **Build from source**: If you need to make changes to the base application, you can build GeoSlicerBase from the source by cloning the [geoslicerbase](https://github.com/ltracegeo/geoslicerbase) and [slicer](https://github.com/ltracegeo/Slicer) repositories.
61+
62+
## 3. Deployment
63+
64+
Once you have all the prerequisites installed, you can deploy GeoSlicer in two modes: **development** and **production**.
65+
66+
### Development Mode
67+
68+
This mode is ideal for developers who are actively working on the GeoSlicer codebase. It sets up a development environment where you can quickly test your changes without having to create a full production build.
69+
70+
To deploy in development mode, run the following command:
71+
72+
```bash
73+
python ./tools/deploy/deploy_slicer.py --dev <path_to_geoslicer_base>
74+
```
75+
76+
Replace `<path_to_geoslicer_base>` with the path to your GeoSlicerBase directory or archive file.
77+
78+
### Production Mode
79+
80+
This mode is used to create a distributable version of GeoSlicer. It packages all the necessary files into a single archive that can be shared with users.
81+
82+
To deploy in production mode, you will need to provide a version number for the release. Run the following command:
83+
84+
```bash
85+
python ./tools/deploy/deploy_slicer.py --geoslicer-version <version_number> <path_to_geoslicer_base>
86+
```
87+
88+
Replace `<version_number>` with the version number for this release (e.g., `2.3.0`) and `<path_to_geoslicer_base>` with the path to your GeoSlicerBase directory or archive file.
89+
90+
### Additional Deployment Options
91+
92+
The deployment script provides several options to customize the build process. Here are a few of the most common ones:
93+
94+
- `--sfx`: Creates a self-extracting archive for easier distribution.
95+
- `--generate-public-version`: Generates a public version of GeoSlicer, excluding any proprietary code.
96+
- `--fast-and-dirty`: Skips some of the build steps, such as installing dependencies, to create a build more quickly. This is useful for testing purposes but should not be used for production releases.
97+
98+
For a full list of options, you can run the deployment script with the `--help` flag:
99+
100+
```bash
101+
python ./tools/deploy/deploy_slicer.py --help
102+
```

CITATION.cff

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,6 @@ authors:
7777
affiliation: "LTrace Geociências"
7878
orcid: ""
7979
title: "GeoSlicer - Integrated Open-Source Digital Rocks Platform"
80-
version: 2.5.5
81-
date-released: "2025-02-04"
80+
version: 2.8.0
81+
date-released: "2025-09-30"
8282
url: "https://github.com/petrobras/GeoSlicer"

0 commit comments

Comments
 (0)