From b71fad3f00b6a4346d1d1923f736cf32af2a471a Mon Sep 17 00:00:00 2001
From: Daniel Felipe Gonzalez Obando <danyfel80@gmail.com>
Date: Wed, 23 Jan 2019 13:21:02 +0100
Subject: [PATCH] First code commit

---
 RandomGenerators/.gitignore                   |   6 +
 RandomGenerators/build.gradle                 |  44 +++++
 .../gradle/wrapper/gradle-wrapper.jar         | Bin 0 -> 54727 bytes
 .../gradle/wrapper/gradle-wrapper.properties  |   5 +
 RandomGenerators/gradlew                      | 172 ++++++++++++++++++
 RandomGenerators/gradlew.bat                  |  84 +++++++++
 RandomGenerators/settings.gradle              |  18 ++
 .../generator/RandomSubimageGenerator.java    |  97 ++++++++++
 .../generator/GenerateRandomDouble.java       |  66 +++++++
 .../generator/GenerateRandomInteger.java      |  66 +++++++
 .../numbers/generator/RandomGenerators.java   |  16 ++
 11 files changed, 574 insertions(+)
 create mode 100644 RandomGenerators/.gitignore
 create mode 100644 RandomGenerators/build.gradle
 create mode 100644 RandomGenerators/gradle/wrapper/gradle-wrapper.jar
 create mode 100644 RandomGenerators/gradle/wrapper/gradle-wrapper.properties
 create mode 100644 RandomGenerators/gradlew
 create mode 100644 RandomGenerators/gradlew.bat
 create mode 100644 RandomGenerators/settings.gradle
 create mode 100644 RandomGenerators/src/main/java/plugins/danyfel80/image/generator/RandomSubimageGenerator.java
 create mode 100644 RandomGenerators/src/main/java/plugins/danyfel80/numbers/generator/GenerateRandomDouble.java
 create mode 100644 RandomGenerators/src/main/java/plugins/danyfel80/numbers/generator/GenerateRandomInteger.java
 create mode 100644 RandomGenerators/src/main/java/plugins/danyfel80/numbers/generator/RandomGenerators.java

diff --git a/RandomGenerators/.gitignore b/RandomGenerators/.gitignore
new file mode 100644
index 0000000..f6ca857
--- /dev/null
+++ b/RandomGenerators/.gitignore
@@ -0,0 +1,6 @@
+/.gradle/
+/bin/
+/build/
+/.settings/
+/.classpath
+/.project
diff --git a/RandomGenerators/build.gradle b/RandomGenerators/build.gradle
new file mode 100644
index 0000000..505d4c6
--- /dev/null
+++ b/RandomGenerators/build.gradle
@@ -0,0 +1,44 @@
+apply plugin: 'java-library'
+apply plugin: 'eclipse'
+
+version = '0.1.0'
+repositories {
+	jcenter()
+}
+
+println "Project=" + project.name
+println "ICY_HOME=${System.env.ICY_HOME}"
+dependencies {
+	testImplementation 'org.hamcrest:hamcrest-all:1.3'
+	testImplementation 'junit:junit:4.12'
+	
+	implementation files("${System.env.ICY_HOME}/icy.jar") // Icy core
+	implementation files("${System.env.ICY_HOME}/plugins/adufour/ezplug/EzPlug.jar") // EzPlug
+	implementation files("${System.env.ICY_HOME}/plugins/adufour/blocks/Blocks.jar") // Blocks
+	implementation files("${System.env.ICY_HOME}/plugins/adufour/protocols/Protocols.jar") // Protocols
+	implementation files("${System.env.ICY_HOME}/plugins/danyfel80/var/BlockVars.jar") // Block vars
+}
+
+eclipse {
+	classpath.downloadJavadoc = true
+	classpath.defaultOutputDir = file("bin")
+	project {
+		natures += ['icy.icy4eclipse.core.icynature']
+	}
+}
+
+task sourcesJar(type: Jar, dependsOn: classes) {
+	classifier = 'sources'
+	from sourceSets.main.output
+	from sourceSets.main.java
+}
+
+task javadocJar(type: Jar, dependsOn: javadoc) {
+	classifier = 'javadoc'
+	from javadoc.destinationDir
+}
+
+artifacts {
+	archives sourcesJar
+	archives javadocJar
+}
diff --git a/RandomGenerators/gradle/wrapper/gradle-wrapper.jar b/RandomGenerators/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000000000000000000000000000000000000..27768f1bbac3ce2d055b20d521f12da78d331e8e
GIT binary patch
literal 54727
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

literal 0
HcmV?d00001

diff --git a/RandomGenerators/gradle/wrapper/gradle-wrapper.properties b/RandomGenerators/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000..92165ee
--- /dev/null
+++ b/RandomGenerators/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,5 @@
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.3-bin.zip
diff --git a/RandomGenerators/gradlew b/RandomGenerators/gradlew
new file mode 100644
index 0000000..cccdd3d
--- /dev/null
+++ b/RandomGenerators/gradlew
@@ -0,0 +1,172 @@
+#!/usr/bin/env sh
+
+##############################################################################
+##
+##  Gradle start up script for UN*X
+##
+##############################################################################
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+    ls=`ls -ld "$PRG"`
+    link=`expr "$ls" : '.*-> \(.*\)$'`
+    if expr "$link" : '/.*' > /dev/null; then
+        PRG="$link"
+    else
+        PRG=`dirname "$PRG"`"/$link"
+    fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS=""
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn () {
+    echo "$*"
+}
+
+die () {
+    echo
+    echo "$*"
+    echo
+    exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "`uname`" in
+  CYGWIN* )
+    cygwin=true
+    ;;
+  Darwin* )
+    darwin=true
+    ;;
+  MINGW* )
+    msys=true
+    ;;
+  NONSTOP* )
+    nonstop=true
+    ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+        # IBM's JDK on AIX uses strange locations for the executables
+        JAVACMD="$JAVA_HOME/jre/sh/java"
+    else
+        JAVACMD="$JAVA_HOME/bin/java"
+    fi
+    if [ ! -x "$JAVACMD" ] ; then
+        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+    fi
+else
+    JAVACMD="java"
+    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
+    MAX_FD_LIMIT=`ulimit -H -n`
+    if [ $? -eq 0 ] ; then
+        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+            MAX_FD="$MAX_FD_LIMIT"
+        fi
+        ulimit -n $MAX_FD
+        if [ $? -ne 0 ] ; then
+            warn "Could not set maximum file descriptor limit: $MAX_FD"
+        fi
+    else
+        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+    fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin ; then
+    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+    JAVACMD=`cygpath --unix "$JAVACMD"`
+
+    # We build the pattern for arguments to be converted via cygpath
+    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+    SEP=""
+    for dir in $ROOTDIRSRAW ; do
+        ROOTDIRS="$ROOTDIRS$SEP$dir"
+        SEP="|"
+    done
+    OURCYGPATTERN="(^($ROOTDIRS))"
+    # Add a user-defined pattern to the cygpath arguments
+    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+    fi
+    # Now convert the arguments - kludge to limit ourselves to /bin/sh
+    i=0
+    for arg in "$@" ; do
+        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option
+
+        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
+            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+        else
+            eval `echo args$i`="\"$arg\""
+        fi
+        i=$((i+1))
+    done
+    case $i in
+        (0) set -- ;;
+        (1) set -- "$args0" ;;
+        (2) set -- "$args0" "$args1" ;;
+        (3) set -- "$args0" "$args1" "$args2" ;;
+        (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+        (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+        (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+        (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+        (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+        (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+    esac
+fi
+
+# Escape application args
+save () {
+    for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
+    echo " "
+}
+APP_ARGS=$(save "$@")
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
+if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
+  cd "$(dirname "$0")"
+fi
+
+exec "$JAVACMD" "$@"
diff --git a/RandomGenerators/gradlew.bat b/RandomGenerators/gradlew.bat
new file mode 100644
index 0000000..f955316
--- /dev/null
+++ b/RandomGenerators/gradlew.bat
@@ -0,0 +1,84 @@
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem  Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS=
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windows variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/RandomGenerators/settings.gradle b/RandomGenerators/settings.gradle
new file mode 100644
index 0000000..308515d
--- /dev/null
+++ b/RandomGenerators/settings.gradle
@@ -0,0 +1,18 @@
+/*
+ * This settings file was generated by the Gradle 'init' task.
+ *
+ * The settings file is used to specify which projects to include in your build.
+ * In a single project build this file can be empty or even removed.
+ *
+ * Detailed information about configuring a multi-project build in Gradle can be found
+ * in the user guide at https://docs.gradle.org/4.3/userguide/multi_project_builds.html
+ */
+
+/*
+// To declare projects as part of a multi-project build use the 'include' method
+include 'shared'
+include 'api'
+include 'services:webservice'
+*/
+
+rootProject.name = 'RandomGenerators'
diff --git a/RandomGenerators/src/main/java/plugins/danyfel80/image/generator/RandomSubimageGenerator.java b/RandomGenerators/src/main/java/plugins/danyfel80/image/generator/RandomSubimageGenerator.java
new file mode 100644
index 0000000..2fb461e
--- /dev/null
+++ b/RandomGenerators/src/main/java/plugins/danyfel80/image/generator/RandomSubimageGenerator.java
@@ -0,0 +1,97 @@
+/*
+ * Copyright 2010-2018 Institut Pasteur.
+ * 
+ * This file is part of Icy.
+ * 
+ * Icy is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * 
+ * Icy is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Icy. If not, see <http://www.gnu.org/licenses/>.
+ */
+package plugins.danyfel80.image.generator;
+
+import java.awt.Dimension;
+
+import icy.plugin.abstract_.Plugin;
+import icy.plugin.interface_.PluginLibrary;
+import icy.roi.ROI;
+import icy.sequence.Sequence;
+import icy.sequence.SequenceUtil;
+import icy.type.point.Point5D;
+import icy.type.rectangle.Rectangle5D;
+import icy.type.rectangle.Rectangle5D.Integer;
+import plugins.adufour.blocks.lang.Block;
+import plugins.adufour.blocks.util.VarList;
+import plugins.adufour.vars.lang.VarSequence;
+import vars.geom.VarDimension;
+
+/**
+ * @author Daniel Felipe Gonzalez Obando
+ */
+public class RandomSubimageGenerator extends Plugin implements PluginLibrary, Block {
+
+	VarSequence varInputSequence;
+	VarDimension varPaddingDimension;
+	VarSequence varOutputSequence;
+
+	@Override
+	public void declareInput(VarList inputMap) {
+		varInputSequence = new VarSequence("Sequence", null);
+		varPaddingDimension = new VarDimension("Padding dimension", new Dimension(0, 0));
+		inputMap.add(varInputSequence.getName(), varInputSequence);
+		inputMap.add(varPaddingDimension.getName(), varPaddingDimension);
+	}
+
+	@Override
+	public void declareOutput(VarList outputMap) {
+		varOutputSequence = new VarSequence("sub image", null);
+		outputMap.add(varOutputSequence.getName(), varOutputSequence);
+	}
+
+	@Override
+	public void run() {
+		Sequence inputSequence = varInputSequence.getValue(true);
+		Dimension padding = varPaddingDimension.getValue(true);
+
+		Rectangle5D.Integer region = getRandomRegion(inputSequence, padding);
+		Sequence outputSequence = generateSubSequence(inputSequence, region);
+		varOutputSequence.setValue(outputSequence);
+	}
+
+	private Integer getRandomRegion(Sequence inputSequence, Dimension padding) {
+		int x = (int) ((padding.width * 2) * Math.random());
+		int y = (int) ((padding.height * 2) * Math.random());
+		int sizeX = inputSequence.getSizeX() - (padding.width * 2);
+		int sizeY = inputSequence.getSizeY() - (padding.width * 2);
+
+		return new Rectangle5D.Integer(x, y, 0, 0, 0, sizeX, sizeY, inputSequence.getSizeZ(), inputSequence.getSizeT(),
+				inputSequence.getSizeC());
+	}
+
+	private Sequence generateSubSequence(Sequence inputSequence, Integer region) {
+		Sequence subSequence = SequenceUtil.getSubSequence(inputSequence, region);
+		for (ROI roi: inputSequence.getROIs()) {
+			if (region.intersects(roi.getBounds5D())) {
+				ROI roiCopy = roi.getCopy();
+				Point5D copyPosition = roi.getPosition5D();
+				copyPosition.setX(copyPosition.getX() - region.getX());
+				copyPosition.setY(copyPosition.getY() - region.getY());
+				copyPosition.setZ(copyPosition.getZ() - region.getZ());
+				copyPosition.setT(copyPosition.getT() - region.getT());
+				copyPosition.setC(copyPosition.getC() - region.getC());
+				roiCopy.setPosition5D(copyPosition);
+				subSequence.addROI(roiCopy);
+			}
+		}
+		return subSequence;
+	}
+
+}
diff --git a/RandomGenerators/src/main/java/plugins/danyfel80/numbers/generator/GenerateRandomDouble.java b/RandomGenerators/src/main/java/plugins/danyfel80/numbers/generator/GenerateRandomDouble.java
new file mode 100644
index 0000000..3ec8499
--- /dev/null
+++ b/RandomGenerators/src/main/java/plugins/danyfel80/numbers/generator/GenerateRandomDouble.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2010-2018 Institut Pasteur.
+ * 
+ * This file is part of Icy.
+ * 
+ * Icy is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * 
+ * Icy is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Icy. If not, see <http://www.gnu.org/licenses/>.
+ */
+package plugins.danyfel80.numbers.generator;
+
+import java.util.Random;
+
+import icy.plugin.abstract_.Plugin;
+import icy.plugin.interface_.PluginLibrary;
+import plugins.adufour.blocks.lang.Block;
+import plugins.adufour.blocks.util.VarList;
+import plugins.adufour.vars.lang.VarDouble;
+
+/**
+ * This block plugin allows users to obtain a random real value within given
+ * minimum (inclusive) and maximum (exclusive) values.
+ *
+ * @author Daniel Felipe Gonzalez Obando
+ */
+public class GenerateRandomDouble extends Plugin implements PluginLibrary, Block {
+
+	private static Random RANDOM_GENERATOR = new Random();
+
+	private VarDouble inVarMin;
+	private VarDouble inVarMax;
+
+	private VarDouble outVarValue;
+
+	@Override
+	public void declareInput(VarList inputMap) {
+		inVarMin = new VarDouble("Minimum value", 0d);
+		inVarMax = new VarDouble("Maximum value", 1d);
+		inputMap.add(inVarMin.getName(), inVarMin);
+		inputMap.add(inVarMax.getName(), inVarMax);
+	}
+
+	@Override
+	public void declareOutput(VarList outputMap) {
+		outVarValue = new VarDouble("Value", 0d);
+		outputMap.add(outVarValue.getName(), outVarValue);
+	}
+
+	@Override
+	public void run() {
+		Double min = inVarMin.getValue(true);
+		Double max = inVarMax.getValue(true);
+		Double value = min + ((max - min) * RANDOM_GENERATOR.nextDouble());
+		outVarValue.setValue(value);
+	}
+
+}
diff --git a/RandomGenerators/src/main/java/plugins/danyfel80/numbers/generator/GenerateRandomInteger.java b/RandomGenerators/src/main/java/plugins/danyfel80/numbers/generator/GenerateRandomInteger.java
new file mode 100644
index 0000000..50d8b7f
--- /dev/null
+++ b/RandomGenerators/src/main/java/plugins/danyfel80/numbers/generator/GenerateRandomInteger.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2010-2018 Institut Pasteur.
+ * 
+ * This file is part of Icy.
+ * 
+ * Icy is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * 
+ * Icy is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Icy. If not, see <http://www.gnu.org/licenses/>.
+ */
+package plugins.danyfel80.numbers.generator;
+
+import java.util.Random;
+
+import icy.plugin.abstract_.Plugin;
+import icy.plugin.interface_.PluginLibrary;
+import plugins.adufour.blocks.lang.Block;
+import plugins.adufour.blocks.util.VarList;
+import plugins.adufour.vars.lang.VarInteger;
+
+/**
+ * This block plugin allows users to obtain a random integer value within given
+ * minimum (inclusive) and maximum (exclusive) values.
+ *
+ * @author Daniel Felipe Gonzalez Obando
+ */
+public class GenerateRandomInteger extends Plugin implements PluginLibrary, Block {
+
+	private static Random RANDOM_GENERATOR = new Random();
+
+	private VarInteger inVarMin;
+	private VarInteger inVarMax;
+
+	private VarInteger outVarValue;
+
+	@Override
+	public void declareInput(VarList inputMap) {
+		inVarMin = new VarInteger("Minimum value", 0);
+		inVarMax = new VarInteger("Maximum value", 100);
+		inputMap.add(inVarMin.getName(), inVarMin);
+		inputMap.add(inVarMax.getName(), inVarMax);
+	}
+
+	@Override
+	public void declareOutput(VarList outputMap) {
+		outVarValue = new VarInteger("Value", 0);
+		outputMap.add(outVarValue.getName(), outVarValue);
+	}
+
+	@Override
+	public void run() {
+		Integer min = inVarMin.getValue(true);
+		Integer max = inVarMax.getValue(true);
+		Integer value = min + (RANDOM_GENERATOR.nextInt(max - min));
+		outVarValue.setValue(value);
+	}
+
+}
diff --git a/RandomGenerators/src/main/java/plugins/danyfel80/numbers/generator/RandomGenerators.java b/RandomGenerators/src/main/java/plugins/danyfel80/numbers/generator/RandomGenerators.java
new file mode 100644
index 0000000..cca07d7
--- /dev/null
+++ b/RandomGenerators/src/main/java/plugins/danyfel80/numbers/generator/RandomGenerators.java
@@ -0,0 +1,16 @@
+package plugins.danyfel80.numbers.generator;
+
+import icy.plugin.abstract_.Plugin;
+import icy.plugin.interface_.PluginLibrary;
+
+/**
+ * Random generator plugins. When installed, this plugin allows access to the
+ * following blocks:
+ * <ul>
+ * <li>GenerateRandomInteger: Generator for random integer values.</li>
+ * <li>GenerateRandomDouble: Generator for random double values.</li>
+ * </ul>
+ * 
+ * @author Daniel Felipe Gonzalez Obando
+ */
+public class RandomGenerators extends Plugin implements PluginLibrary {}
-- 
GitLab