Skip to content

Commit d61581a

Browse files
author
Cyrille Favreau
authored
Merge pull request #188 from favreau/master
Version 1.5.0
2 parents 8f4fbcc + 08fa0c7 commit d61581a

1,108 files changed

Lines changed: 12209 additions & 9597 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
2020

2121
set(NAME BIOEXPLORER)
22-
set(BIOEXPLORER_PACKAGE_VERSION 1.4.0)
22+
set(BIOEXPLORER_PACKAGE_VERSION 1.5.0)
2323
project(${NAME} VERSION ${BIOEXPLORER_PACKAGE_VERSION})
2424

2525
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMake)

bioexplorer/core/plugin/connectomics/synapses/SynapseEfficacySimulationHandler.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,9 @@ void* SynapseEfficacySimulationHandler::getFrameData(const uint32_t frame)
8989
_currentFrame,
9090
_details.sqlFilter);
9191

92-
if( values.size() != _frameData.size())
92+
if (values.size() != _frameData.size())
9393
_frameData.resize(values.size());
94-
94+
9595
uint64_t i = 0;
9696
for (const auto& value : values)
9797
{

bioexplorer/core/plugin/io/db/DBConnector.cpp

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1235,21 +1235,23 @@ Vector3ds DBConnector::getSynapseEfficacyPositions(
12351235
return positions;
12361236
}
12371237

1238-
uint8_ts DBConnector::getSynapseEfficacyReportValues(
1238+
floats DBConnector::getSynapseEfficacyReportValues(
12391239
const std::string& populationName, const uint64_t frame,
12401240
const std::string& sqlCondition) const
12411241
{
12421242
CHECK_DB_INITIALIZATION
1243-
uint8_ts reportValues;
1243+
floats reportValues;
12441244
const uint64_t offset = 1;
1245+
const auto size = sizeof(float);
12451246
pqxx::nontransaction transaction(
12461247
*_connections[omp_get_thread_num() % _dbNbConnections]);
12471248
try
12481249
{
12491250
Timer chrono;
12501251
std::string sql = "SELECT SUBSTRING(values::bytea FROM " +
1251-
std::to_string(offset + frame) + " FOR 1) FROM " +
1252-
populationName + ".synapse_efficacy";
1252+
std::to_string(offset + frame * size) + " FOR " +
1253+
std::to_string(size) + ") FROM " + populationName +
1254+
".synapse_efficacy";
12531255
if (!sqlCondition.empty())
12541256
sql += " WHERE " + sqlCondition;
12551257
sql += " ORDER BY synapse_guid";
@@ -1260,9 +1262,9 @@ uint8_ts DBConnector::getSynapseEfficacyReportValues(
12601262
uint64_t i = 0;
12611263
for (auto c = res.begin(); c != res.end(); ++c)
12621264
{
1263-
uint8_t value;
1265+
float value;
12641266
const pqxx::binarystring buffer(c[0]);
1265-
memcpy(&value, buffer.data(), sizeof(uint8_t));
1267+
memcpy(&value, buffer.data(), size);
12661268
reportValues[i] = value;
12671269
++i;
12681270
}

bioexplorer/core/plugin/io/db/DBConnector.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -403,9 +403,9 @@ class DBConnector
403403
* @param populationName Name of the population
404404
* @param frame Simulation frame
405405
* @param sqlCondition SQL condition
406-
* @return Positions of synapses for efficacy report
406+
* @return Values of synapses efficacy
407407
*/
408-
uint8_ts getSynapseEfficacyReportValues(
408+
floats getSynapseEfficacyReportValues(
409409
const std::string& populationName, const uint64_t frame,
410410
const std::string& sqlCondition = "") const;
411411

bioexplorer/pythonsdk/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ run_tests: $(VENV_INSTALLED)
6060

6161
run_tests_xunit: $(VENV_INSTALLED)
6262
@mkdir -p $(ROOT_DIR)/test-reports
63-
$(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
63+
$(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
6464

6565
lint: run_pycodestyle run_pydocstyle run_pylint
6666

bioexplorer/pythonsdk/bioexplorer/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,4 @@
2121
# You should have received a copy of the GNU General Public License along with
2222
# this program. If not, see <https://www.gnu.org/licenses/>.
2323

24-
VERSION = "1.4.0"
24+
VERSION = "1.5.0"

bioexplorer/pythonsdk/requirements.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,14 @@
2020

2121
rockets~=1.0.3
2222
requests~=2.22.0
23-
python-jsonschema-objects~=0.3.5
23+
python-jsonschema-objects~=0.4.1
2424
semver~=2.8.1
2525
stringcase~=1.2.0
2626
pyquaternion~=0.9.9
2727
webcolors~=1.8.1
28-
seaborn~=0.11.1
29-
ipywidgets~=7.6.3
30-
jsonschema~=3.2.0
28+
seaborn~=0.12.2
29+
ipywidgets~=8.0.4
30+
jsonschema~=4.17.3
3131
sqlalchemy~=1.4.31
3232
psycopg2-binary~=2.9.2
3333
tqdm~=4.62.0

bioexplorer/pythonsdk/requirements_dev.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
rockets~=1.0.3
2222
requests~=2.22.0
23-
python-jsonschema-objects~=0.3.5
23+
python-jsonschema-objects~=0.4.1
2424
semver~=2.8.1
2525
setuptools~=46.0.0
2626
stringcase~=1.2.0
@@ -29,7 +29,7 @@ pylint~=2.6.0
2929
pycodestyle~=2.7.0
3030
pydocstyle~=3.0.0
3131
nose~=1.3.7
32-
coverage~=4.5.2
32+
coverage~=7.1.0
3333
nosexcover~=1.0.11
3434
tox~=3.6.1
3535
mock~=2.0.0
@@ -39,7 +39,7 @@ nbsphinx==0.8.3
3939
m2r~=0.2.1
4040
pyquaternion~=0.9.9
4141
webcolors~=1.8.1
42-
seaborn~=0.11.1
43-
ipywidgets~=7.6.3
42+
seaborn~=0.12.2
43+
ipywidgets~=8.0.4
4444
psycopg2-binary~=2.9.2
4545
tqdm~=4.62.0

bioexplorer/pythonsdk/setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[metadata]
2-
version = 1.4.0
2+
version = 1.5.0
33
name = bioexplorer
44
summary = Blue Brain BioExplorer python API
55
long_description = file: README.md

docs/annotated.html

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,9 @@
113113
<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>
114114
<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>
115115
<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>
116-
<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>
116+
<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>
117+
<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>
118+
<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>
117119
<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>
118120
<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>
119121
<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>
@@ -163,10 +165,11 @@
163165
<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>
164166
<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>
165167
<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>
166-
<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>
167-
<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>
168-
<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>
169-
<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>
168+
<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>
169+
<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>
170+
<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>
171+
<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>
172+
<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>
170173
<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>
171174
<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>
172175
<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>

0 commit comments

Comments
 (0)