This application displays n-Dimensional data in 2D using General Line Coordinates Linear (GLC-L) then visualizes the results as Hyper Blocks using CUDA for optimization.
- For better class separation, Linear Discriminant Analysis (LDA) is used to get the optimal angles and threshold for a visualization.
- Adjustments to the angles and threshold can be done by using the related slider.
- Graphs produced by this program can be panned, zoomed in/out, and scaled.
- Graph order can be rearranged.
- Analytics generated by this program include the "All Data," "Data Without Overlap," "Overlap Data," and "Worst Case," confusion matrices as well as k-fold cross validation.
Please refer to the user manual for specifics on any of the information above.
- Dataset must be in .csv format
- Dataset must include a header row
- If there is an ID column, it must be first
- If there is a class column it must be last
- Dataset features besides "class" must be numeric
- Java 17 - download
- Windows
Important: run/DV.zip is stored using Git LFS. If you use GitHub’s “Download ZIP” for this repository (or clone without Git LFS), DV.zip will be a small pointer file and will appear empty/invalid when opened.
- Install Git LFS and clone the repository:
git lfs installgit clone <repo>git lfs pull
- Open the
rundirectory - Extract
DV.zip - Start the application:
- Prefer
run.bat(included insideDV.zip), or - Run
java -jar DV.jar
- Prefer
- See
Run Instructions.pdffor usage walkthroughs once the app is running
From the repository root on a Windows machine with Java 17 (the script can locate JDK 17 if it is installed) and Python 3.10–3.12 (required for PyInstaller 5.x; Python 3.14 is not used):
scripts\package-dv.batThe script creates .venv-package, installs scripts/requirements-package.txt, compiles DV.jar from src/, runs PyInstaller on source/Python/code_and_pyinstaller_spec/, and writes run/DV.zip. It does not reuse committed bundles under source/Python/<tool>/. Dev-only flags: -SkipJava, -SkipPython, -SkipZip (see scripts/package-dv.ps1). Override the interpreter with DV_PACKAGE_PYTHON if needed.
- Clone repository and open as project in Intellij IDE
- Build project
- Run
- Clone repository
- Run from root directory to compile:
javac -cp "lib/*:src" src/*.java src/Sliders/*.java - Run from root directory to run:
java -cp "lib/*:src" Main
This method requires the use of the lib directory for libraries, this can be manually updated to fit your system should a specific dependency version be required.
This project is licensed under the MIT License for both personal and commercial use. See the LICENSE file for details.


