Verifying BioImage Suite Web for your Environment

BioImage Suite, in a manner rare among software packages, allows users to run the regression tests on their own computers using the pre-built version of the software. We provide a regression testing application (see below) from which a user can select tests and run them verify their own installation. This can help to detect problems between BioImage Suite and the user’s browser, machine, operating system, etc.

Algorithmic Tests

The tests are defined in a JSON file, an abbreviated entry of which is shown in Figure 2. For the curious, the complete list of tests can be downloaded from this link.

Web-based Regression Testing Figure 1 (top): A test running in the Web browser. Note the output pertaining to running the test under the ‘Running Test’ and ‘Test 3’ headers and the test results at the bottom.

Figure 2 (bottom): An example of the JSON for one of the BioImageSuite regression tests.

Note that these same tests can be run from the command line from the BioImage Suite Web source tree by typing make test. See the developer documentation for more details. These tests consist of two groups: (i) low-level unit tests and (ii) higher-level module tests. Only the module tests can be run in the browser.

There are over 85 tests as of 9/18/18.

Running Regression Tests in the Browser

First open the BioImageSuite Web Regression Testing Application from

Selecting Which Tests to Run

test1 Figure 3: The opening screen of the BioImage Suite Web Regression Test Runner with the module list expanded.

Specifying which tests to run works through using components A and B, which work as follows:

Under C there are two checkboxes that control advanced options. If the WebWorker checkbox is enabled, then all modules are executed in a separate Web Worker thread. This tests our internal multithreading, which is currently not used in the production version of the software. The FileServer box is used to test the BioImage Suite File Server, which is currently not available for public use.

Finally, the buttons D and E run the tests.

Running Module Tests

test2 Figure 4: The results from a successfully tested module.

The figure above shows an example test run, where we chose to run all the tests of the module resliceImage, which reslices images from one coordinate space to another using a transformation.

When the test is finished, the status bar at the bottom of the browser shows a summary of what happened (completed 7/88, passed 7/88, failed=0/88, skipped=81/88). The 81 skipped tests are thoses tests that do not involve this module and have not been executed.

Please note that a certain subset of the tests is designed to intentionally fail, so these tests returning errors should be expected.

The log for each test is printed on the webpage, and you can scroll up to see the results for each test. In addition, the Details tab at the bottom of each test can be expanded to show more details.

test3 Figure 5: A test with details expanded.

For some tests that take longer or generate more output, it might be useful to look at the print statements in the JavaScript console. In Google Chrome, this can be opened by pressing ‘Control-Shift-I’ (Windows/Linux) or ‘Apple-Option-I’ (Mac). This may show debug statements printed by the JavaScript code itself that will not be reproduced in the test running page.

test5 Figure 6: The webpage with the console expanded.

Running the Memory Test

This will verify that your browser has the ability to allocate upto 2GB of RAM for running the modules implemented in C++ and compiled as WebAssembly (see this document from the source tree for more information.)

memtest Figure 7: The output of a successful memory test.

Display Tests

BioImage Suite Web also has two sets of display tests that work in a similar mannner. You may access these as follows:

Both of these controls essentially leverage the same functionality described in the Live Figures to reload the viewer state and recreate a previous visualization.

[BioImage Suite Web Manual Table Of Contents]    [BioImage Suite Web Main Page]

This page is part of BioImage Suite Web. We gratefully acknowledge support from the NIH Brain Initiative under grant R24 MH114805 (Papademetris X. and Scheinost D. PIs, Dept. of Radiology and Biomedical Imaging, Yale School of Medicine.)