Skip to content

Commit

Permalink
Merge pull request #188 from favreau/master
Browse files Browse the repository at this point in the history
Version 1.5.0
  • Loading branch information
favreau authored Feb 1, 2023
2 parents 8f4fbcc + 08fa0c7 commit d61581a
Show file tree
Hide file tree
Showing 1,108 changed files with 12,209 additions and 9,597 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
cmake_minimum_required(VERSION 3.1 FATAL_ERROR)

set(NAME BIOEXPLORER)
set(BIOEXPLORER_PACKAGE_VERSION 1.4.0)
set(BIOEXPLORER_PACKAGE_VERSION 1.5.0)
project(${NAME} VERSION ${BIOEXPLORER_PACKAGE_VERSION})

list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMake)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,9 @@ void* SynapseEfficacySimulationHandler::getFrameData(const uint32_t frame)
_currentFrame,
_details.sqlFilter);

if( values.size() != _frameData.size())
if (values.size() != _frameData.size())
_frameData.resize(values.size());

uint64_t i = 0;
for (const auto& value : values)
{
Expand Down
14 changes: 8 additions & 6 deletions bioexplorer/core/plugin/io/db/DBConnector.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1235,21 +1235,23 @@ Vector3ds DBConnector::getSynapseEfficacyPositions(
return positions;
}

uint8_ts DBConnector::getSynapseEfficacyReportValues(
floats DBConnector::getSynapseEfficacyReportValues(
const std::string& populationName, const uint64_t frame,
const std::string& sqlCondition) const
{
CHECK_DB_INITIALIZATION
uint8_ts reportValues;
floats reportValues;
const uint64_t offset = 1;
const auto size = sizeof(float);
pqxx::nontransaction transaction(
*_connections[omp_get_thread_num() % _dbNbConnections]);
try
{
Timer chrono;
std::string sql = "SELECT SUBSTRING(values::bytea FROM " +
std::to_string(offset + frame) + " FOR 1) FROM " +
populationName + ".synapse_efficacy";
std::to_string(offset + frame * size) + " FOR " +
std::to_string(size) + ") FROM " + populationName +
".synapse_efficacy";
if (!sqlCondition.empty())
sql += " WHERE " + sqlCondition;
sql += " ORDER BY synapse_guid";
Expand All @@ -1260,9 +1262,9 @@ uint8_ts DBConnector::getSynapseEfficacyReportValues(
uint64_t i = 0;
for (auto c = res.begin(); c != res.end(); ++c)
{
uint8_t value;
float value;
const pqxx::binarystring buffer(c[0]);
memcpy(&value, buffer.data(), sizeof(uint8_t));
memcpy(&value, buffer.data(), size);
reportValues[i] = value;
++i;
}
Expand Down
4 changes: 2 additions & 2 deletions bioexplorer/core/plugin/io/db/DBConnector.h
Original file line number Diff line number Diff line change
Expand Up @@ -403,9 +403,9 @@ class DBConnector
* @param populationName Name of the population
* @param frame Simulation frame
* @param sqlCondition SQL condition
* @return Positions of synapses for efficacy report
* @return Values of synapses efficacy
*/
uint8_ts getSynapseEfficacyReportValues(
floats getSynapseEfficacyReportValues(
const std::string& populationName, const uint64_t frame,
const std::string& sqlCondition = "") const;

Expand Down
2 changes: 1 addition & 1 deletion bioexplorer/pythonsdk/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ run_tests: $(VENV_INSTALLED)

run_tests_xunit: $(VENV_INSTALLED)
@mkdir -p $(ROOT_DIR)/test-reports
$(VENV_BIN)/nosetests bioexplorer --with-coverage --cover-min-percentage=$(MIN_COV) --cover-inclusive --cover-erase --cover-package=bioexplorer --with-xunit --xunit-file=test-reports/nosetests_bioexplorer.xml
$(VENV_BIN)/nosetests bioexplorer --with-coverage --cover-min-percentage=$(MIN_COV) --cover-inclusive --cover-erase --cover-package=bioexplorer --with-xunit --xunit-file=nosetests_bioexplorer.xml

lint: run_pycodestyle run_pydocstyle run_pylint

Expand Down
2 changes: 1 addition & 1 deletion bioexplorer/pythonsdk/bioexplorer/version.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@
# You should have received a copy of the GNU General Public License along with
# this program. If not, see <https://www.gnu.org/licenses/>.

VERSION = "1.4.0"
VERSION = "1.5.0"
8 changes: 4 additions & 4 deletions bioexplorer/pythonsdk/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,14 @@

rockets~=1.0.3
requests~=2.22.0
python-jsonschema-objects~=0.3.5
python-jsonschema-objects~=0.4.1
semver~=2.8.1
stringcase~=1.2.0
pyquaternion~=0.9.9
webcolors~=1.8.1
seaborn~=0.11.1
ipywidgets~=7.6.3
jsonschema~=3.2.0
seaborn~=0.12.2
ipywidgets~=8.0.4
jsonschema~=4.17.3
sqlalchemy~=1.4.31
psycopg2-binary~=2.9.2
tqdm~=4.62.0
8 changes: 4 additions & 4 deletions bioexplorer/pythonsdk/requirements_dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

rockets~=1.0.3
requests~=2.22.0
python-jsonschema-objects~=0.3.5
python-jsonschema-objects~=0.4.1
semver~=2.8.1
setuptools~=46.0.0
stringcase~=1.2.0
Expand All @@ -29,7 +29,7 @@ pylint~=2.6.0
pycodestyle~=2.7.0
pydocstyle~=3.0.0
nose~=1.3.7
coverage~=4.5.2
coverage~=7.1.0
nosexcover~=1.0.11
tox~=3.6.1
mock~=2.0.0
Expand All @@ -39,7 +39,7 @@ nbsphinx==0.8.3
m2r~=0.2.1
pyquaternion~=0.9.9
webcolors~=1.8.1
seaborn~=0.11.1
ipywidgets~=7.6.3
seaborn~=0.12.2
ipywidgets~=8.0.4
psycopg2-binary~=2.9.2
tqdm~=4.62.0
2 changes: 1 addition & 1 deletion bioexplorer/pythonsdk/setup.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[metadata]
version = 1.4.0
version = 1.5.0
name = bioexplorer
summary = Blue Brain BioExplorer python API
long_description = file: README.md
Expand Down
13 changes: 8 additions & 5 deletions docs/annotated.html
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,9 @@
<tr id="row_0_1_18_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d4a/classbioexplorer_1_1common_1_1ThreadSafeContainer.html" target="_self">ThreadSafeContainer</a></td><td class="desc">Used to load large datasets in parallel. Every individual element is loaded in a separate thread and eventualy merged into a single Brayns model </td></tr>
<tr id="row_0_1_19_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/dbd/classbioexplorer_1_1common_1_1UniqueId.html" target="_self">UniqueId</a></td><td class="desc">The UniqueID class provides a way to get a unique identifier accross the application </td></tr>
<tr id="row_0_2_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_2_" class="arrow" onclick="toggleFolder('0_2_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><b>connectomics</b></td><td class="desc"></td></tr>
<tr id="row_0_2_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/dcd/classbioexplorer_1_1connectomics_1_1WhiteMatter.html" target="_self">WhiteMatter</a></td><td class="desc"></td></tr>
<tr id="row_0_2_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/daf/classbioexplorer_1_1connectomics_1_1SynapseEfficacy.html" target="_self">SynapseEfficacy</a></td><td class="desc"></td></tr>
<tr id="row_0_2_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/da5/classbioexplorer_1_1connectomics_1_1SynapseEfficacySimulationHandler.html" target="_self">SynapseEfficacySimulationHandler</a></td><td class="desc">The <a class="el" href="de/da5/classbioexplorer_1_1connectomics_1_1SynapseEfficacySimulationHandler.html" title="The SynapseEfficacySimulationHandler handles the reading of simulation information from the database ...">SynapseEfficacySimulationHandler</a> handles the reading of simulation information from the database at a soma level. When attached to a model, the simulation data is communicated to the renderer by Brayns, and mapped to the geometry by the BioExplorer advanced renderer </td></tr>
<tr id="row_0_2_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/dcd/classbioexplorer_1_1connectomics_1_1WhiteMatter.html" target="_self">WhiteMatter</a></td><td class="desc"></td></tr>
<tr id="row_0_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_3_" class="arrow" onclick="toggleFolder('0_3_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><b>details</b></td><td class="desc"></td></tr>
<tr id="row_0_3_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/d45/structbioexplorer_1_1details_1_1AddBoundingBoxDetails.html" target="_self">AddBoundingBoxDetails</a></td><td class="desc">Defines the parameters needed when adding bounding box to the scene </td></tr>
<tr id="row_0_3_1_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/d5c/structbioexplorer_1_1details_1_1AddBoxDetails.html" target="_self">AddBoxDetails</a></td><td class="desc">Defines the parameters needed when adding box to the scene </td></tr>
Expand Down Expand Up @@ -163,10 +165,11 @@
<tr id="row_0_3_45_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/d00/structbioexplorer_1_1details_1_1RNASequenceDetails.html" target="_self">RNASequenceDetails</a></td><td class="desc">RNA sequence descriptor </td></tr>
<tr id="row_0_3_46_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d03/structbioexplorer_1_1details_1_1SceneInformationDetails.html" target="_self">SceneInformationDetails</a></td><td class="desc">List of metrics for the current scene </td></tr>
<tr id="row_0_3_47_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/d93/structbioexplorer_1_1details_1_1SugarDetails.html" target="_self">SugarDetails</a></td><td class="desc">Data structure describing the sugar </td></tr>
<tr id="row_0_3_48_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d98/structbioexplorer_1_1details_1_1VasculatureDetails.html" target="_self">VasculatureDetails</a></td><td class="desc"></td></tr>
<tr id="row_0_3_49_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/da6/structbioexplorer_1_1details_1_1VasculatureRadiusReportDetails.html" target="_self">VasculatureRadiusReportDetails</a></td><td class="desc"></td></tr>
<tr id="row_0_3_50_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/d4e/structbioexplorer_1_1details_1_1VasculatureReportDetails.html" target="_self">VasculatureReportDetails</a></td><td class="desc"></td></tr>
<tr id="row_0_3_51_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/d1a/structbioexplorer_1_1details_1_1WhiteMatterDetails.html" target="_self">WhiteMatterDetails</a></td><td class="desc"></td></tr>
<tr id="row_0_3_48_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/d3d/structbioexplorer_1_1details_1_1SynapseEfficacyDetails.html" target="_self">SynapseEfficacyDetails</a></td><td class="desc"></td></tr>
<tr id="row_0_3_49_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d98/structbioexplorer_1_1details_1_1VasculatureDetails.html" target="_self">VasculatureDetails</a></td><td class="desc"></td></tr>
<tr id="row_0_3_50_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/da6/structbioexplorer_1_1details_1_1VasculatureRadiusReportDetails.html" target="_self">VasculatureRadiusReportDetails</a></td><td class="desc"></td></tr>
<tr id="row_0_3_51_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/d4e/structbioexplorer_1_1details_1_1VasculatureReportDetails.html" target="_self">VasculatureReportDetails</a></td><td class="desc"></td></tr>
<tr id="row_0_3_52_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/d1a/structbioexplorer_1_1details_1_1WhiteMatterDetails.html" target="_self">WhiteMatterDetails</a></td><td class="desc"></td></tr>
<tr id="row_0_4_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_4_" class="arrow" onclick="toggleFolder('0_4_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><b>fields</b></td><td class="desc"></td></tr>
<tr id="row_0_4_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/d6e/classbioexplorer_1_1fields_1_1FieldsHandler.html" target="_self">FieldsHandler</a></td><td class="desc">Handles electro-magnetic fields data structures </td></tr>
<tr id="row_0_4_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/d5a/classbioexplorer_1_1fields_1_1Octree.html" target="_self">Octree</a></td><td class="desc">Implements the <a class="el" href="dc/d5a/classbioexplorer_1_1fields_1_1Octree.html" title="The Octree class implements the Octree acceleration structure used by the FieldsRenderer class to ren...">Octree</a> acceleration structure used by the FieldsRenderer class to render magnetic fields </td></tr>
Expand Down
3 changes: 3 additions & 0 deletions docs/annotated_dup.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit d61581a

Please sign in to comment.