Skip to content

Commit

Permalink
Merge pull request #18 from clEsperanto/Add-CI-build-and-tests
Browse files Browse the repository at this point in the history
Add-CI-build-and-tests
  • Loading branch information
StRigaud authored Feb 12, 2025
2 parents e6204c8 + d434d0c commit 9aeabb3
Show file tree
Hide file tree
Showing 6 changed files with 132 additions and 4 deletions.
33 changes: 33 additions & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Build

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

jobs:
build:
strategy:
fail-fast: true
matrix:
java: [8]
os: [macos-13]

runs-on: ${{ matrix.os }}

steps:
- name: Checkout
uses: actions/checkout@v2

- name: Setup Java ${{ matrix.java }}
uses: actions/setup-java@v2
with:
java-version: ${{ matrix.java }}
distribution: 'temurin'
cache: maven

- name: Build with Maven
run: |
mvn clean install -U -DskipTests
shell: bash -l {0}
33 changes: 33 additions & 0 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Tests

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

jobs:
build:
strategy:
fail-fast: true
matrix:
java: [8, 11, 17, 21]
os: [macos-13] # only runner with native OCL device support

runs-on: ${{ matrix.os }}

steps:
- name: Checkout
uses: actions/checkout@v2

- name: Setup Java ${{ matrix.java }}
uses: actions/setup-java@v2
with:
java-version: ${{ matrix.java }}
distribution: 'temurin'
cache: maven

- name: Run tests
run: |
mvn clean test -X
shell: bash -l {0}
4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,6 @@
<artifactId>clesperantoj</artifactId>
<version>0.16.9</version>
</dependency>

</dependencies>

<repositories>
Expand All @@ -151,8 +150,9 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<forkCount>1</forkCount>
<reuseForks>false</reuseForks>
<argLine>-Xmx2G</argLine>
</configuration>
</plugin>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
* OF THE POSSIBILITY OF SUCH DAMAGE.
* #L%
*/
package net.clesperanto.test;
package net.clesperanto.demos;

import ij.IJ;
import ij.ImageJ;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
* OF THE POSSIBILITY OF SUCH DAMAGE.
* #L%
*/
package net.clesperanto.test;
package net.clesperanto.demos;

import net.clesperanto.CLIJ3;
import net.clesperanto.core.ArrayJ;
Expand Down
62 changes: 62 additions & 0 deletions src/test/java/ImagePlusFijiTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
/*-
* #%L
* clij3
* %%
* Copyright (C) 2023 - 2025 Robert Haase, Stéphane Rigaud, Institut Pasteur Paris, DFG Cluster of Excellence "Physice of Life" TU Dresden
* %%
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* 3. Neither the name of the clesperanto nor the names of its contributors
* may be used to endorse or promote products derived from this software without
* specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* #L%
*/


import ij.IJ;
import ij.ImageJ;
import ij.ImagePlus;

import net.clesperanto.CLIJ3;
import net.clesperanto.core.ArrayJ;

import org.junit.Test;

public class ImagePlusFijiTest {

@Test
public void ImagePlusTest() throws Exception {

ImagePlus imp = IJ.openImage("./demo/blobs.tif");

CLIJ3 cle = CLIJ3.getInstance();

ArrayJ blurred = cle.gaussian_blur(imp, null, 10, 0, 0);
ArrayJ binary = cle.threshold_otsu(blurred, null);
ArrayJ labels = cle.connected_components_labeling(binary, null, "box");
float nbLabels = cle.maximum_of_all_pixels(labels);

ImagePlus result = cle.pull(labels);

assert(nbLabels == 27.0);
}
}

0 comments on commit 9aeabb3

Please sign in to comment.