Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
DesirY committed Oct 17, 2023
0 parents commit e6becf4
Show file tree
Hide file tree
Showing 7,336 changed files with 3,523,260 additions and 0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
17 changes: 17 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@

*/venv/


*.pyc
*/__pycache__/

*.pytest_cache/
*.coverage
htmlcov/

dist/
build/
*.egg-info/

*.DS_Store

49 changes: 49 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# EulerMerge


This repository comprises two components:

- `embedder`: A Java application for generating simplified, unsmoothed Euler diagrams from abstract descriptions of set systems.
- `smoothEuler`: A Flask project for generating and visualizing smoothed Euler diagrams based on the results obtained from the `embedder`.


Download the source code by running the following command in your terminal:

```
git clone https://github.com/tdavislab/EulerMerge.git
```


## embedder (Java)

* **Input**: The abstract description of a set system, which is specified within the `main` method of `embedder/src/euler/simplify/Simplify.java`.

* **Onput**: Running `embedder/src/euler/simplify/Simplify.java` will apply `algorithms 1-5` as described in the paper, and output merge information and JSON files representing the resultant unsmoothed Euler diagram.

## smoothEuler (Flask)
This folder applies the EulerSmooth algorithm and provides tools for visualizing Euler diagrams, based on the file generated by `embedder`.

### Dependencies
Before running the project, make sure to install the required Python packages using the following commands:

```
pip install flask
pip install matplotlib
pip install JPype1
pip install networkx
pip install shapely
```

### Running the code
```
cd EulerMerge/smoothEuler
python app.py
```
After running the above commands, you can access the interative visualization demo by visiting http://127.0.0.1:5000/ on the local machine (If possible, please use Chrome). You will see the interface like the one below.

![interface](./smoothEuler/interface.png)


* `Triangulation` allows to visualize the triangulation of the Euler disgram, which indicate how an Euler diagram is derived.
* `Zone graph` allows to visualize the zone graph.
* `Iteration` and `Distance` are parameters of the EulerSmooth algorithm, allowing to control the number of smoothing cycles performed, and the distance between nodes and curves, respectively.
125 changes: 125 additions & 0 deletions embedder/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="lib" path="lib/jgrapht-1.5.1/lib/antlr4-runtime-4.8-1.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="lib/jgrapht-1.5.1/lib/commons-lang3-3.9.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="lib/jgrapht-1.5.1/lib/commons-math3-3.6.1.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="lib/jgrapht-1.5.1/lib/commons-text-1.8.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="lib/jgrapht-1.5.1/lib/dsiutils-2.6.17.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="lib/jgrapht-1.5.1/lib/fastutil-8.5.2.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="lib/jgrapht-1.5.1/lib/guava-29.0-jre.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="lib/jgrapht-1.5.1/lib/jgrapht-core-1.5.1.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="lib/jgrapht-1.5.1/lib/jgrapht-demo-1.5.1.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="lib/jgrapht-1.5.1/lib/jgrapht-ext-1.5.1.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="lib/jgrapht-1.5.1/lib/jgrapht-guava-1.5.1.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="lib/jgrapht-1.5.1/lib/jgrapht-io-1.5.1.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="lib/jgrapht-1.5.1/lib/jgrapht-opt-1.5.1.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="lib/jgrapht-1.5.1/lib/jgrapht-unimi-dsi-1.5.1.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="lib/jgrapht-1.5.1/lib/jgraphx-4.1.0.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="lib/jgrapht-1.5.1/lib/jheaps-0.13.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="lib/jgrapht-1.5.1/lib/jsap-20210129.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="lib/jgrapht-1.5.1/lib/logback-classic-1.2.3.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="lib/jgrapht-1.5.1/lib/logback-core-1.2.3.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="lib/jgrapht-1.5.1/lib/slf4j-api-1.7.30.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="lib/jgrapht-1.5.1/lib/sux4j-5.2.3.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="lib/jgrapht-1.5.1/lib/webgraph-3.6.10.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="lib/jgrapht-1.5.1/lib/webgraph-big-3.6.6.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="bin"/>
</classpath>
28 changes: 28 additions & 0 deletions embedder/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>embedder</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
<filteredResources>
<filter>
<id>1697427568027</id>
<name></name>
<type>30</type>
<matcher>
<id>org.eclipse.core.resources.regexFilterMatcher</id>
<arguments>node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
</matcher>
</filter>
</filteredResources>
</projectDescription>
15 changes: 15 additions & 0 deletions embedder/.settings/org.eclipse.jdt.core.prefs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=18
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=18
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=18
Loading

0 comments on commit e6becf4

Please sign in to comment.