Software
This is a collection of the BisQue software which is completely Open Source because we <3 open source. I also included some docker containers I built for research projects I worked on.
BisQue
GitHub
The entire BisQue source code is available on Github along with the documentation1. Most is in your favorite language, Python
. So feel free to poke around. To clone the BisQue GitHub repo, run the following command:
git clone https://github.com/UCSB-VRL/bisqueUCSB.git
# gh repo clone UCSB-VRL/bisqueUCSB
GAN Detection
Synthetic image generation using Generative Adversarial Network (GAN) architectures have become increasingly harder to fail the eye test. With a relatively low-cost GPU and enough time, we have seen images of fake celebrities, bedrooms, and landscapes—to name a few—deceive a reasonable person. Previous use cases of GANs, such as increasing the number of samples in a small dataset, have seen widespread adoption across disciplines. However, over the past year, we have also seen GANs being used for malicious cases as well. Hence, we will feed GAN generated images we produced to a model whose task is to determine whether an image is “Real” or "Fake’’. We demonstrate GAN generated image detection using five ImageNet classification models for the classification task: classification of real images and fake images presented as inputs to the ImageNet model.
Clone the repo
gh repo clone amilworks/GanDetection
Docker Containers I Built
BisQue
Ensure you have the latest release by first running the following pull command:
docker pull amilworks/bisque-module-dev:git
Run the BisQue Docker Container
To run the docker version of BisQue locally, start a bisque server on the host port 8080:
docker run --name bisque --rm -p 8080:8080 amilworks/bisque-module-dev:git
and point your browser at http://localhost:8080
. You should see a BisQue homepage similar to the one on bisque.ece.ucsb.edu. If you do not see the homepage, check to make sure that port 8080 is not being used by another container or application and that you have correctly mapped the ports using -p 8080:8080
, where -p
is short for port.
Registering Modules
To register all the modules to your local server:
* Login to your BisQue server using admin:admin
* Find the module manager under the Admin button on the top right hand corner
* Put http://localhost:8080/engine_service
in the right panel where it says Enter Engine URL and hit Load
* NOTE: Use localhost:8080
here because it’s internal to the container.
* Drag and Drop MetaData to the left panel—or whatever module you would like—and the module will now be registered and available for use. You can make the module Public by hitting Set Public in the left panel, which basically means the module is Published and ready for public use.
Custom Modules, Copying Folders out of the Container
If you would like to build and test your own module locally, using host mounted modules will make life easier to build, test, debug, and deploy locally.
Copy the module directory out of the container and into the folder on your local system named
container-modules
.docker cp bisque:/source/modules container-modules
Copy your module into the
container-modules
folder on your local system.Restart the container with host mounted modules. Be careful with the command
$(pwd)/container-modules
that we are using here. If the/container-modules
is not in the specified path, you will not see any of the modules during the registration process.docker stop bisque docker run --name bisque --rm -p 8080:8080 -v $(pwd)/container-modules:/source/modules amilworks/bisque-module-dev:git
Register your module from the above steps in “3. Registering Modules. ,” using the Module Manager.
Pushing your Module to Production. If you feel that your module is ready to be added to the production version of BisQue, please feel free to contact us and we will gladly begin the process.
Data Storage
Use an external data directory so you don’t lose data when the service stops
- Uploaded image and workdirs are store in /source/data
. You can change this to be a host mounted directory with
docker run --name bisque --rm -p 8080:8080 -v $(pwd)/container-data:/source/data amilworks/bisque-module-dev:git
- The default sqlite database is stored inside the container at
/source/data/bisque.db
- The uploaded images are stored inside the container at
/source/data/imagedir
View Downloaded Images, Running Containers
List all the docker images on your system:
docker images
List all running containers on your system:
docker ps
SSH into the Container
If you would like to see everything inside the container, you can use the following command while the container is running:
docker exec -it amilworks/bisque-module-dev:git bash
The -it
flag enables you to run interactively inside the container. There are numerous other flags you can take advantage of as shown here:
--detach , -d Detached mode: run command in the background
--detach-keys Override the key sequence for detaching a container
--env , -e Set environment variables
--interactive , -i Keep STDIN open even if not attached
--privileged Give extended privileges to the command
--tty , -t Allocate a pseudo-TTY
--user , -u Username or UID (format: <name|uid>[:<group|gid>])
--workdir , -w Working directory inside the container
Now, let’s say you want to ssh into an image without fully starting BisQue. More precisely, you want to ssh into a non-running container. You can accomplish this by running:
docker run -it amilworks/bisque-module-dev:git bash
If you want to exit, simply type exit
and you will be taken back outside of the container.
Stop the Container
Say you are done playing with your container for today, you can stop the container by using the following command:
docker stop amilworks/bisque-module-dev:git
docker stop {YOUR_CONTAINER_NAME} # <--- If you named the container
DREAM3D Conda Feedstock
DREAM.3D consists of data analysis tools (Filters) that allow for the construction of customized workflows (Pipelines) to analyze data.
Features of DREAM.3D
- 3D Reconstruction of EBSD data from EDAX (.ang), Oxford (.ctf) and Bruker (.ctf) data files. The reconstructions can utilize an array of alignment, cleaning, segmentation algorithms and coloring algorithms.
- Synthetic microstructures can be created using a set of automatically generated statistics or your own statistics.
- The reconstructed volumes can be exported as industry standard STL files, ParaView files (.xdmf), Abaqus (.inp). DREAM.3D stores all data as HDF5 files by default.
- Many algorithms are available to extract various statistics about your data
- Over 100 filters from the image processing library ITK
For more information, checkout DREAM3D’s Github2
docker pull amilworks/dream3d-conda-feedstock:v1.4.1
DSI Studio
docker pull amilworks/dsi-studio:latest
FSL
docker pull amilworks/fsl:nph-6.04