washington-university / workbench Goto Github PK
View Code? Open in Web Editor NEWConnectome Workbench
Home Page: http://www.humanconnectome.org/software/get-connectome-workbench.html
License: GNU General Public License v2.0
Connectome Workbench
Home Page: http://www.humanconnectome.org/software/get-connectome-workbench.html
License: GNU General Public License v2.0
Connectome Workbench requires QT5 to compile. Recommended is version 5.6 or later (due to an issue with the toolbar size on earlier versions). It is highly recommended to compile with OSMesa, which allow the -show-scene command and the "render pixmap" image capture method to work. Use it by setting the *cmake* variable WORKBENCH_MESA_DIR, such that ${WORKBENCH_MESA_DIR}/include/GL/osmesa.h exists. It is compiled using cmake, for example, on linux you can do: mkdir build cd build cmake -D CMAKE_BUILD_TYPE=Release -D WORKBENCH_MESA_DIR=/usr -D WORKBENCH_USE_QT5=TRUE ../workbench/src nice make -j8 For other OSes, see http://www.cmake.org/cmake/help/runningcmake.html Note the -j flag of "make" is used in the example to speed up the build by compiling multiple source files at the same time. If you have a different number of cores/hardware threads or want to reduce the load, adjust it accordingly. The "nice" command is not needed, it is used to make the compilation have less priority than other processes. This produces 3 executables, 2 of which are useful to the end user (Desktop/wb_view, CommandLine/wb_command), and one for running internal tests (Tests/test_driver). To run the (few) tests available: ctest #OR make test To install wb_view, wb_command, wb_shortcuts, and the bash completion script to the default locations: make install It should be noted that wb_import, provided in the HCP binary releases of Connectome Workbench, is actually part of caret5 (http://brainvis.wustl.edu/wiki/index.php/Caret:Download). Connectome Workbench source code is licensed under GPLv2 or later, copyright 2014-2024 Washington University School of Medicine, see LICENSE file. However, it uses a GPLv3 (or later) library, libCZI, and thus the executables are GPLv3. Some source files are licensed under an MIT license (Expat), for easier code reuse in non-GPL projects: Files/SurfaceResamplingHelper.cxx Cifti/examples/* CommandLine/wb_shortcuts CommandLine/bashcomplete_wb_* Copyright (C) 2014-2022 Washington University School of Medicine Some GPLv2 source files can be used under the MIT license (Expat) specifically in FSL or MSM code: Files/SignedDistanceHelper.* Common/OctTree.h Some included code/files are from third party sources, with the following licenses: CZIlib/*: Copyright (C) 2017 Zeiss Microscopy GmbH licensed under GPLv3 or later some renaming and removal of files kloewe/*: Copyright (c) 2012-2017 Kristian Loewe, Christian Borgelt licensed under MIT (Expat), see kloewe/dot/LICENSE and kloewe/cpuinfo/LICENSE Quazip/*: QuaZIP 0.6, http://quazip.sourceforge.net/ Copyright (C) 2005-2012 Sergey A. Tachenov Copyright (C) 1998-2010 Gilles Vollant Copyright (C) 2009-2010 Mathias Svensson Copyright (C) 2007-2008 Even Rouault Copyright (c) 1990-2000 Info-ZIP licensed under LGPLv2.1 or later and zlib, see Quazip/COPYING, Quazip/quazip.h, Quazip/zip.h and Quazip/unzip.c Qwt/*: Copyright (C) 1997 Josef Wilgen Copyright (C) 2002 Uwe Rathmann Qwt 6.0.1, http://qwt.sourceforge.net/ licensed under Qwt license v1.0 (LGPLv2.1, with exceptions), see src/Qwt/COPYING some unneeded files removed FtglFont/*: FTGL library Copyright (C) 2001-2004 Henry Maddocks <[email protected]> Copyright (C) 2008 Daniel Remenak <[email protected]> Copyright (C) 2008 Éric Beets <[email protected]> Copyright (C) 2008 Sam Hocevar <[email protected]> Copyright (C) 2008 Sean Morrison <[email protected]> licensed under Expat, see FtglFont/COPYING GLMath/* Copyright (c) 2005 - 2014 G-Truc Creation licensed under "Happy Bunny" or Expat, see GLMath/copying.txt Common/Base64.*, Common/DataCompressZLib.*, Common/MathFunctions.*, Nifti/Matrix4x4.cxx: use code from VTK, http://www.kitware.com/opensource/vtk.html or http://www.vtk.org/ Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen originally licensed under BSD 3-clause, see http://www.kitware.com/Copyright.htm or http://www.vtk.org/VTK/project/license.html GuiQt/WuQDialog.cxx, Brain/FtglFontTextRenderer.cxx: copied some code from from QT4, https://qt-project.org/ Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). originally licensed LGPLv2.1 (or GPLv3, or a commercial license) modified to change some UI behaviors otherwise hardcoded into QT classes Files/SignedDistanceHelper.cxx, Files/RibbonMappingHelper.cxx: make use of PNPOLY, http://www.ecse.rpi.edu/~wrf/Research/Short_Notes/pnpoly.html Copyright (c) 1970-2003, Wm. Randolph Franklin originally licensed with 3-clause BSD/MIT license, see files in question rewritten for different argument types, modified Resources/FtglFonts/Vera*.ttf Copyright (c) 2003 Bitstream, Inc. licensed under Bitstream-Vera (basically, modification of fonts requires calling them something else), see debian/copyright file Files/PaletteFile.cxx copied some palette definitions from matplotlib and its original sources Copyright (c) 2012-2016 Matplotlib Development Team Copyright (c) 2002 Cynthia Brewer, Mark Harrower, and The Pennsylvania State University licensed apache-2 and MDT (bsd-like)
workbench/src/GuiQt/BrainOpenGLWidget.cxx
Lines 230 to 245 in 4d5ccc6
Calling makeCurrent()
in the destructor triggers segmentation fault every time the program is closed. It seems like the internal OpenGL widget was already freed, and the pointers were set to NULL. I was able to reproduce the same problem on Qt 5.12 and 5.15 on Ubuntu 20.04 and OS X 11.
novo:~/deb/perspect/workbench-standalone/workbench/exe_linux64
$> XVFB_OPTS="-screen 0 1024x768x24 -ac +extension GLX +render -noreset"; LD_LIBRARY_PATH=$PWD/../libs_linux64 xvfb-run --auto-servernum --server-num=20 -s "$XVFB_OPTS" gdb --args ./workbench -logging ALL
GNU gdb (GDB) 7.6.2 (Debian 7.6.2-1)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/yoh/deb/perspect/workbench-standalone/workbench/exe_linux64/workbench...done.
(gdb) r
Starting program: /home/yoh/deb/perspect/workbench-standalone/workbench/exe_linux64/./workbench -logging ALL
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
^C
Program received signal SIGINT, Interrupt.
0x00007ffff1dd0710 in __poll_nocancel () at ../sysdeps/unix/syscall-template.S:81
81 ../sysdeps/unix/syscall-template.S: No such file or directory.
(gdb) quit
A debugging session is active.
Inferior 1 [process 510] will be killed.
Quit anyway? (y or n) y
in above run I waited long enough... on subsequent one it seems got the the "splash" screen
novo:~/deb/perspect/workbench-standalone/workbench/exe_linux64
$> XVFB_OPTS="-screen 0 1024x768x24 -ac +extension GLX +render -noreset"; LD_LIBRARY_PATH=$PWD/../libs_linux64 xvfb-run --auto-servernum --server-num=20 -s "$XVFB_OPTS" gdb --args ./workbench -logging ALL
GNU gdb (GDB) 7.6.2 (Debian 7.6.2-1)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/yoh/deb/perspect/workbench-standalone/workbench/exe_linux64/workbench...done.
(gdb) c
The program is not being run.
(gdb) r
Starting program: /home/yoh/deb/perspect/workbench-standalone/workbench/exe_linux64/./workbench -logging ALL
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Level: CONFIG
Method: int main(int, char**)
File: /home/caret/caret7_source/src/Desktop/desktop.cxx
Line: 306
Text: Compiled Debug: NO
Level: FINE
Method: int main(int, char**)
File: /home/caret/caret7_source/src/Desktop/desktop.cxx
Line: 317
Text: Running: /home/yoh/deb/perspect/workbench-standalone/workbench/exe_linux64/./workbench -logging ALL
^C
Program received signal SIGINT, Interrupt.
0x00007ffff1dd0710 in __poll_nocancel () at ../sysdeps/unix/syscall-template.S:81
I wondered:
An construct for basic "run the beast" testing I had in mind was smth like
$> timelimit=15 XVFB_OPTS="-screen 0 1024x768x24 -ac +extension GLX +render -noreset"; xvfb-run --auto-servernum --server-num=20 -s "$XVFB_OPTS" bash -c "( sleep 1; xdotool key --delay 1000 Tab Return; sleep 5; xdotool key --delay 2000 ctrl+q Return) & ./workbench -logging INFO"
Level: CONFIG
Method: int main(int, char**)
File: /home/caret/caret7_source/src/Desktop/desktop.cxx
Line: 306
Text: Compiled Debug: NO
Level: FINE
Method: int main(int, char**)
File: /home/caret/caret7_source/src/Desktop/desktop.cxx
Line: 317
Text: Running: ./workbench -logging INFO
^C%
(which as you see in this case succeeded to proceed to that splash screen but then (may be just xdotool didn't send keystrokes correctly) got stuck... some times it doesn't even spit out those...
and for those really interested , this would have been an ultimate construct with a timeout
timelimit=15 XVFB_OPTS="-screen 0 1024x768x24 -ac +extension GLX +render -noreset"; xvfb-run --auto-servernum --server-num=20 -s "$XVFB_OPTS" bash -c "( sleep 1; xdotool key --delay 1000 Tab Return; sleep 5; xdotool key --delay 2000 ctrl+q Return) & timeout $timelimit ./workbench -logging INFO"
which times out
May be there are more efficient ways to drive Qt apps -- please share ;)
Hello,
This issue was mentioned in mandymejia/ciftiTools#34 .
I have fMRIPrep (21.0.0) cifti outputs (using the 91k
resolution). All surface/cifti files can be found here. They are from a public openneuro dataset (ds003129). I am trying to resample the subject's high density surface (~150k vertices) to the template space that the cifti file corresponds with (~32k vertices).
"-surface-resample" crashes when trying to resample the subject's high-resolution surface file (sub-047EPKL011005_ses-1_hemi-L_midthickness.surf.gii
) to the template resolution (tpl-fsLR_den-32k_hemi-L_midthickness.surf.gii
). I used ciftiTool's (https://github.com/mandymejia/ciftiTools) wrapper function resample_surf
, which calls workbench (1.5.0)-surface-resample
and got the following error:
For every triangle in the surface I get the following error (I paste just a portion of the error message below);
triangle 317355, vertex 0Vertex used twice in one triangle: triangle 317356, vertex 0Vertex used twice in one triangle: triangle 317356, vertex 0Vertex used twice in one triangle: triangle 317357, vertex 0Vertex used twice in one triangle: triangle 317357, vertex 0...
Please let me know if there is any information I can provide to help describe this problem better.
Thank you,
Steven
Scenario:
If a non-system version of libz.so is provided (which is installed in a custom location),
the executables fail to build, generating the following error message.
cd /chimerahomes/phi/human_brain/hcp_proj/workbench/build-tree/Desktop && /fs/gvilsw-usersupported/data/phi/local/bin/cmake -E cmake_link_script CMakeFiles/wb_view.dir/link.txt --verbose=1
/chimerahomes/phi/compilers/gcc/4.8.2/vanilla/bin/g++ -fopenmp -O3 -DNDEBUG -L/chimerahomes/phi/lib -lz CMakeFiles/wb_view.dir/desktop.cxx.o CMakeFiles/wb_view.dir/qrc_resources.cxx.o -o wb_view -rdynamic ../GuiQt/libGuiQt.a ../Commands/libCommands.a ../Operations/libOperations.a ../Algorithms/libAlgorithms.a ../OperationsBase/libOperationsBase.a ../Qwt/libQwt.a ../OSMesaDummy/libOSMesaDummy.a ../Brain/libBrain.a ../FtglFont/libFtglFont.a ../Files/libFiles.a ../Charting/libCharting.a ../Palette/libPalette.a ../Cifti/libCifti.a ../Gifti/libGifti.a ../Nifti/libNifti.a ../FilesBase/libFilesBase.a ../Scenes/libScenes.a ../Xml/libXml.a ../Common/libCommon.a ../Quazip/libQuazip.a -lfreetype -lQtOpenGL -lQtWebKit -lQtXmlPatterns -lQtGui -lQtXml -lQtNetwork -lQtCore -lz -lGLU -lGL -lSM -lICE -lX11 -lXext -lgobject-2.0
../Common/libCommon.a(CaretBinaryFile.cxx.o): In function `caret::ZFileImpl::pos()':
CaretBinaryFile.cxx:(.text+0x420): undefined reference to `gztell64'
../Common/libCommon.a(CaretBinaryFile.cxx.o): In function `caret::ZFileImpl::open(QString const&, caret::CaretBinaryFile::OpenMode const&)':
CaretBinaryFile.cxx:(.text+0xd0a): undefined reference to `gzopen64'
../Common/libCommon.a(CaretBinaryFile.cxx.o): In function `caret::ZFileImpl::seek(long const&)':
CaretBinaryFile.cxx:(.text+0xfab): undefined reference to `gzseek64'
collect2: error: ld returned 1 exit status
make[2]: *** [Desktop/wb_view] Error 1
make[2]: Leaving directory `/chimerahomes/phi/human_brain/hcp_proj/workbench/build-tree'
make[1]: *** [Desktop/CMakeFiles/wb_view.dir/all] Error 2
make[1]: Leaving directory `/chimerahomes/phi/human_brain/hcp_proj/workbench/build-tree'
make: *** [all] Error 2
Work-around:
Adding the following lines to the end of the linking command works.
g++ <all the flags> -L/path/to/libz -lz
| /usr/bin/c++ -DHAVE_FREETYPE -DQT_CORE_LIB -DQT_NO_DEBUG -DWORKBENCH_HAVE_HELP_HTML -DWORKBENCH_USE_QT5_QOPENGL_WIDGET -D_STATICLIBBUILD -I/usr/local/include -I/usr/local/include/qt5/QtNetwork -I/usr/local/include/qt5/QtGui -I/disk-samsung/freebsd-ports/biology/connectome-workbench/work/workbench-1.5.0-430-g1e6d5c5c9/src/Annotations -I/disk-samsung/freebsd-ports/biology/connectome-workbench/work/workbench-1.5.0-430-g1e6d5c5c9/src/Brain -I/disk-samsung/freebsd-ports/biology/connectome-workbench/work/workbench-1.5.0-430-g1e6d5c5c9/src/Charting -I/disk-samsung/freebsd-ports/biology/connectome-workbench/work/workbench-1.5.0-430-g1e6d5c5c9/src/Cifti -I/disk-samsung/freebsd-ports/biology/connectome-workbench/work/workbench-1.5.0-430-g1e6d5c5c9/src/CZIlib/CZI -I/disk-samsung/freebsd-ports/biology/connectome-workbench/work/workbench-1.5.0-430-g1e6d5c5c9/src/FilesBase -I/disk-samsung/freebsd-ports/biology/connectome-workbench/work/workbench-1.5.0-430-g1e6d5c5c9/src/Files -I/disk-samsung/freebsd-ports/biology/connec
work/workbench-1.5.0-430-g1e6d5c5c9/src/Brain/BrainOpenGLShape.cxx|177 col 9| error: use of undeclared identifier 'glGenBuffers'
|| glGenBuffers(1, &id);
|| ^
Did you forget to include GL/glext.h
?
Building 0.85 does not work for me. Steps used:
mkdir build
cd build
cmake ../src
make
Output:
- The C compiler identification is GNU 4.7.3
-- The CXX compiler identification is GNU 4.7.3
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
gcc major minor version numbers are: 4,7
-- Found OpenSSL: /usr/lib64/libssl.so;/usr/lib64/libcrypto.so (found version "1.0.1f")
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found
-- Found Qt4: /usr/bin/qmake (found suitable version "4.8.5", minimum required is "4.8")
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -fopenmp
C++ flags -fopenmp
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.8")
OSMESA_DIR:
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib64/libX11.so
-- Found OpenGL: /usr/lib64/libGL.so
-- Configuring done
-- Generating done
-- Build files have been written to: /home/martin/data/mgh/code/workbench/build
# make
In file included from /code/workbench/build/Quazip/../../src/Quazip/zip.h:60:0,
from /code/workbench/build/Quazip/../../src/Quazip/quazip.h:31,
from /code/workbench/build/Quazip/../../src/Quazip/quazipfile.h:30,
from /code/workbench/build/Quazip/moc_quazipfile.cxx:9:
/code/workbench/build/Quazip/../../src/Quazip/ioapi.h:40:44: error: expected initializer before 'OF'
...
Hi,
I am currently running into an issue in which every time I attempt to record and save a movie via wb_view
, I am met with a file not found error. I am on MacOS X Mojave, running version 1.4.1 of Connectome Workbench.
I was wondering if this issue had occurred before. If so - is there a solution?
Best,
Hi,
I am trying to build the connectome workbench 1.3.2 using GCC 4.8.5, Qt 5.9.1, Mesa 17.2.3 and CMake 3.11.1. The build almost finishes and then fails at 93% with the error message:
[ 93%] Building CXX object GuiQt/CMakeFiles/GuiQt.dir/KeyEvent.cxx.o
cd /scratch/93741177.tmpdir/workbench-1.3.2/src/build/GuiQt && /usr/bin/g++ -DCARET_DOTFCN -DCARET_OS_LINUX -DHAVE_FREETYPE -DQT_CORE_LIB -DQT_NO_DEBUG -I/scratch/93741177.tmpdir/workbench-1.3.2/src/kloewe/dot/src -I/cluster/apps/gcc-4.8.5/mesa-17.2.3-scgjhvf43ivc54ykewsggroiyydhdtma/include -I/cluster/apps/gcc-4.8.5/zlib-1.2.11-tu4n3a4rud6dtfqmgmgfrb32liysc5lu/include -isystem /cluster/apps/gcc-4.8.5/qt-5.9.1-4xilvu6otyfkgeasjlf27tyyvplvz33d/include -isystem /cluster/apps/gcc-4.8.5/qt-5.9.1-4xilvu6otyfkgeasjlf27tyyvplvz33d/include/QtCore -isystem /cluster/apps/gcc-4.8.5/qt-5.9.1-4xilvu6otyfkgeasjlf27tyyvplvz33d/./mkspecs/linux-g++ -I/cluster/apps/gcc-4.8.5/qt-5.9.1-4xilvu6otyfkgeasjlf27tyyvplvz33d/include/QtOpenGL -I/cluster/apps/gcc-4.8.5/qt-5.9.1-4xilvu6otyfkgeasjlf27tyyvplvz33d/include/QtWidgets -I/cluster/apps/gcc-4.8.5/qt-5.9.1-4xilvu6otyfkgeasjlf27tyyvplvz33d/include/QtGui -I/cluster/apps/gcc-4.8.5/qt-5.9.1-4xilvu6otyfkgeasjlf27tyyvplvz33d/include/QtNetwork -I/scratch/93741177.tmpdir/workbench-1.3.2/src/build/GuiQt -I/scratch/93741177.tmpdir/workbench-1.3.2/src/GuiQt -I/scratch/93741177.tmpdir/workbench-1.3.2/src/Qwt -I/scratch/93741177.tmpdir/workbench-1.3.2/src/Algorithms -I/scratch/93741177.tmpdir/workbench-1.3.2/src/Annotations -I/scratch/93741177.tmpdir/workbench-1.3.2/src/Brain -I/scratch/93741177.tmpdir/workbench-1.3.2/src/Commands -I/scratch/93741177.tmpdir/workbench-1.3.2/src/Charting -I/scratch/93741177.tmpdir/workbench-1.3.2/src/FilesBase -I/scratch/93741177.tmpdir/workbench-1.3.2/src/Files -I/scratch/93741177.tmpdir/workbench-1.3.2/src/Cifti -I/scratch/93741177.tmpdir/workbench-1.3.2/src/Gifti -I/scratch/93741177.tmpdir/workbench-1.3.2/src/Graphics -I/scratch/93741177.tmpdir/workbench-1.3.2/src/Nifti -I/scratch/93741177.tmpdir/workbench-1.3.2/src/OSMesaDummy -I/scratch/93741177.tmpdir/workbench-1.3.2/src/Operations -I/scratch/93741177.tmpdir/workbench-1.3.2/src/OperationsBase -I/scratch/93741177.tmpdir/workbench-1.3.2/src/Palette -I/scratch/93741177.tmpdir/workbench-1.3.2/src/Scenes -I/scratch/93741177.tmpdir/workbench-1.3.2/src/Xml -I/scratch/93741177.tmpdir/workbench-1.3.2/src/Common -fopenmp -O3 -DNDEBUG -ftree-vectorize -march=core-avx2 -mavx2 -fPIC -W -Wall -Werror=return-type -Werror=switch -Wunused-parameter -fPIC -std=gnu++11 -o CMakeFiles/GuiQt.dir/KeyEvent.cxx.o -c /scratch/93741177.tmpdir/workbench-1.3.2/src/GuiQt/KeyEvent.cxx
../kloewe/dot/libdot.a(dot.c.o): In function `dot_set_impl':
dot.c:(.text+0xf5): undefined reference to `sdot_avx'
dot.c:(.text+0x106): undefined reference to `ddot_avx'
dot.c:(.text+0x11e): undefined reference to `dsdot_avx'
collect2: error: ld returned 1 exit status
make[2]: *** [CommandLine/CMakeFiles/wb_command.dir/build.make:167: CommandLine/wb_command] Error 1
make[2]: Leaving directory '/scratch/93741177.tmpdir/workbench-1.3.2/src/build'
make[1]: *** [CMakeFiles/Makefile2:1467: CommandLine/CMakeFiles/wb_command.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Any help is appreciated. If there is any useful information that I can provide, then please let me know.
[sfux@eu-c7-041-01 build]$ cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
[sfux@eu-c7-041-01 build]$ uname -a
Linux eu-c7-041-01 3.10.0-862.14.4.el7.x86_64 #1 SMP Wed Sep 26 15:12:11 UTC 2018 x86_64 GNU/Linux
[sfux@eu-c7-041-01 build]$
Hello,
Starting somewhat recently (maybe in the last 6 months) we've noticed that when borders files are displayed in our scene files, it substantially slows down the loading time in wb_view (e.g. for the Information window to display when clicking on a vertex). If borders are turned off (but still loaded), wb_view speeds up again. This wasn't an issue when we first set up the scene file. We were wondering what may have caused this decrease in loading speed (possibly in the 1.3.2 versus 1.0.0 version of Workbench?).
I am on a Mac running wb_view version 1.3.2. The borders files we are using are "Q1-Q6_RelatedValidation210.L.CorticalAreas_dil_Final_Final_Areas_Group.32k_fs_LR.border" and
"Q1-Q6_RelatedValidation210.R.CorticalAreas_dil_Final_Final_Areas_Group.32k_fs_LR.border", i.e. the 360 cortical parcels from the Multi-Modal Parcellation. With smaller border files that have fewer borders, the loading time is not as slow.
just thought to run by before looking into fixing myself ;)
[ 25%] Building CXX object Files/CMakeFiles/Files.dir/ImageFile.cxx.o
cd /build/connectome-workbench-1.2.3/obj-x86_64-linux-gnu/Files && /usr/bin/c++ -DCARET_OS_LINUX -DHAVE_FREETYPE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -isystem /usr/include/qt4 -isystem /usr/include/qt4/QtGui -isystem /usr/include/qt4/QtCore -isystem /usr/include/qt4/QtNetwork -I/build/connectome-workbench-1.2.3/src/Annotations -I/build/connectome-workbench-1.2.3/src/Charting -I/build/connectome-workbench-1.2.3/src/Files -I/build/connectome-workbench-1.2.3/src/FilesBase -I/build/connectome-workbench-1.2.3/src/Cifti -I/build/connectome-workbench-1.2.3/src/Palette -I/build/connectome-workbench-1.2.3/src/Gifti -I/build/connectome-workbench-1.2.3/src/Nifti -I/build/connectome-workbench-1.2.3/src/Scenes -I/build/connectome-workbench-1.2.3/src/Xml -I/build/connectome-workbench-1.2.3/src/Common -fopenmp -g -O2 -fdebug-prefix-map=/build/connectome-workbench-1.2.3=. -fstack-protector-strong -Wformat -Werror=format-security -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2 -W -Wall -Werror=return-type -Werror=switch -Wunused-parameter -Wno-narrowing -Wno-unused-local-typedefs -o CMakeFiles/Files.dir/ImageFile.cxx.o -c /build/connectome-workbench-1.2.3/src/Files/ImageFile.cxx
/build/connectome-workbench-1.2.3/src/Files/ImageFile.cxx: In member function 'caret::VolumeFile* caret::ImageFile::convertToVolumeFile(caret::ImageFile::CONVERT_TO_VOLUME_COLOR_MODE, const std::vector<caret::ControlPoint3D>&, const caret::PaletteFile*, caret::AString&) const':
/build/connectome-workbench-1.2.3/src/Files/ImageFile.cxx:1423:16: error: cannot convert 'bool' to 'caret::VolumeFile*' in return
return false;
^~~~~
Files/CMakeFiles/Files.dir/build.make:1625: recipe for target 'Files/CMakeFiles/Files.dir/ImageFile.cxx.o' failed
make[3]: *** [Files/CMakeFiles/Files.dir/ImageFile.cxx.o] Error 1
make[3]: Leaving directory '/build/connectome-workbench-1.2.3/obj-x86_64-linux-gnu'
CMakeFiles/Makefile2:748: recipe for target 'Files/CMakeFiles/Files.dir/all' failed
make[2]: *** [Files/CMakeFiles/Files.dir/all] Error 2
make[2]: Leaving directory '/build/connectome-workbench-1.2.3/obj-x86_64-linux-gnu'
Makefile:141: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/build/connectome-workbench-1.2.3/obj-x86_64-linux-gnu'
full buildlog http://neuro.debian.net/_files/_buildlogs/connectome-workbench/1.2.3/connectome-workbench_1.2.3-1_amd64.build
Hi,
I'm unsure if this is the best place for this issue, but an fmriprep user is having trouble parcellating their BOLD dtseries (nipreps/fmriprep#2031 (comment)). It seems the main issue is fmriprep produces the subcortical volumes in RAS orientation, while other files may have this information in LAS.
Looking at the CIFTI specification (CIFTI-2 Connectivity File Formats), I was under the impression the data should be in RAS
VoxelIJKIndicestospatialXYZcoordinates
(+X=>right, +Y=>anterior, +Z=> superior). The resulting coordinate is the center of the voxel.
Should fmriprep change volume orientation to LAS? In any effect, wb_command -cifti-parcellate
should probably be flexible enough to handle files of different orientation.
-show-scene is not present in 1.5 and it but I couldn't find a reference in the changelog
Despite finding QuaZip it fails like this:
work/workbench-1.5.0-430-g1e6d5c5c9/src/Operations/OperationZipSpecFile.cxx|28 col 10| fatal error: 'quazip.h' file not found
|| #include <quazip.h>
|| ^~~~~~~~~~
I keep getting a ' ERROR: Parse error while reading: Tried to read 365128 from ' when I try to execute the wb command [wbcommand ' -cifti-convert -from-gifti-ext ' filename '.gii ' filename]. I had no problems when I was trying to use the same wb command in mac.
In general I am having trouble to save a dtseries cifti file. (I tried ft_read_cifti + ft_write_cifti but I ran into issues with the transform matrix which kept distorting my values into a random space)
Any thoughts? Ideas?
cmake files are looking for QUAZIP_*
but the actual name is QuaZip-Qt5
on FreeBSD,
Please make this name configurable through cmake variables if you can.
in light of https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=784458
Qt4's WebKit removal
thought to build against Qt5 but decided to check first
Hello wb developers,
I suddenly cannot open the wb_view, which acting no error before. It says "OpenGL (3D Graphics System) is not available. This may be caused by missing or outdated OpenGL libraries.On Linux, this may be caused by a missing plugin library /xcbglintegrations/libqxcb-glx-integration.so." My operating system is Ubuntu 20.04
Hey HCP, this might not be the correct place to post this, but I have been using the rsfMRI data provided by the HCP workbench tutorial in scene 4 (CP10101). It looks like there has been some preprocessing done to the rsfMRI dtseries but I am not sure what it is. My own analysis techniques seem to work pretty well on this processed data but perform pretty poorly on the raw data. Is there any documentation/paper you could direct me to.
Thanks
Amrit
I'm trying to create a dlabel file with ROIs red nucleus, substantia nigra, subthalamic nucleus, Pallidum - internal and external and other freesurfer subcortical ROIs. I'm able to create the volume label file, but I'm not able to create the dlabel file with all the ROI labels. Only the ROIs with the names that match exactly with the list of structures mentioned in -cifti-create-labels are being created. How do I create a dlabel file with other structures included?
hello~
I am a graduate in UCAS in China. I got some problems in processing the HCP S900 data.
I try to smooth the data such as thickness, sulc, curvatue and so on(file end with shape.gii), but I find that in workbench, the command 'wb_command -surface-smoothing' cannot smoothing the data directly, it can only smooth the file end with surf.gii. I want to know is there any command that i do not know to smooth the data, or there exist other way to smooth this kind of data?
thank you in advance for help
Hi:
I am trying to install HCP on my Mac, and I have entered the following commands in terminal, would you mind looking at what might go wrong?
(base) Renxis-Mac-mini:~ renxili$ printenv SHELL
/bin/bash
(base) Renxis-Mac-mini:~ renxili$ cd /Users/renxili/
(base) Renxis-Mac-mini:~ renxili$ echo 'export PATH=$PATH:/Applications/workbench/bin_macosx64' >> ~/.bashrc
(base) Renxis-Mac-mini:~ renxili$ echo 'set PATH = ($PATH /Applications/workbench/bin_macosx64)' >> ~/.cshrc
(base) Renxis-Mac-mini:~ renxili$ wb_command -file-info
-bash: wb_command: command not found
(base) Renxis-Mac-mini:~ renxili$
Best,
Renxi
Permissions across all files and directories in the zipfile are u=rwx,g=rwx,o=rwx. This is bad if this package is unpacked by an admin intending to install into a privileged location, as any user can write to the directories, and modify or delete files.
In addition, non-executable files should not be +x.
I am trying to use workbench
to convert warpfields from FSL
to ITK
so that I can use FSL
's distortion correction in ANTs
. However, I am running into an issue where antsApplyTransforms
does not apply the warpfield and I am wondering if this issue is coming from the conversion of the field.
Here is the example code:
wb_command -convert-warpfield \
-from-fnirt warpfield_fromtopup.nii.gz test_im.nii.gz \
-to-itk warpfield_fromtopup_itk.nii.gz
antsApplyTransforms \
-d 3 \
-i test_im.nii.gz \
-o warped_im.nii.gz \
-n BSpline \
-t warpfield_fromtopup_itk.nii.gz \
-r test_im.nii.gz \
-v 1
antsApplyTransforms
does not show anything going wrong in its output, but test_im.nii.gz
and warped_im.nii.gz
are identical. I have never had any issues with antsApplyTransforms
when I use warpfields created from antsRegistration
.
I was excited when I recently found this feature in workbench
, but now I am confused about whether the conversion is working properly. Are there any suggestions for how to pinpoint the problem?
happens with a "manual" build and distributed standalone build while I right-click mouse somewhere on non-0 voxel and select "Identify voxel" while looking at this emails
/usr/share/fsl/data/atlases/HarvardOxford/HarvardOxford-cortl-maxprob-thr50-2mm.nii.gz uint8 [ 91, 109, 91] 2.00x2.00x2.00
$> LD_LIBRARY_PATH=$PWD/libs_linux64 gdb --args exe_linux64/workbench /usr/share/fsl/data/atlases/HarvardOxford/HarvardOxford-cortl-maxprob-thr50-2mm.nii.gz
GNU gdb (GDB) 7.6.2 (Debian 7.6.2-1)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/yoh/deb/perspect/workbench-standalone/workbench/exe_linux64/workbench...done.
(gdb) r
Starting program: /home/yoh/deb/perspect/workbench-standalone/workbench/exe_linux64/workbench /usr/share/fsl/data/atlases/HarvardOxford/HarvardOxford-cortl-maxprob-thr50-2mm.nii.gz
warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7ffff7ffa000
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Level: INFO
Method: caret::CaretDataFile* caret::Brain::addReadOrReloadDataFile(caret::Brain::FileModeAddReadReload, caret::CaretDataFile*, caret::DataFileTypeEnum::Enum, caret::StructureEnum::Enum, const caret::AString&, bool)
File: /home/caret/caret7_source/src/Brain/Brain.cxx
Line: 4335
Text: Time to read /usr/share/fsl/data/atlases/HarvardOxford/HarvardOxford-cortl-maxprob-thr50-2mm.nii.gz was 0.11303 seconds.
Program received signal SIGSEGV, Segmentation fault.
0x00000000006fe170 in caret::Brain::getNumberOfVolumeFiles() const ()
(gdb) bt
#0 0x00000000006fe170 in caret::Brain::getNumberOfVolumeFiles() const ()
#1 0x00000000007d13dc in caret::IdentificationTextGenerator::generateVolumeIdentificationText(caret::IdentificationStringBuilder&, caret::Brain const*, caret::SelectionItemVoxel const*) const ()
#2 0x00000000007d6575 in caret::IdentificationTextGenerator::createIdentificationText(caret::SelectionManager const*, caret::Brain const*) const ()
#3 0x00000000007a8259 in caret::SelectionManager::getIdentificationText(caret::Brain const*) const ()
#4 0x00000000005e3372 in caret::BrainOpenGLWidgetContextMenu::identifyVoxelSelected() ()
#5 0x00007ffff4167adb in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtCore.so.4
#6 0x00007ffff53a3e62 in QAction::triggered(bool) () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtGui.so.4
#7 0x00007ffff53a53b0 in QAction::activate(QAction::ActionEvent) () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtGui.so.4
#8 0x00007ffff58559d4 in ?? () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtGui.so.4
#9 0x00007ffff585b6b2 in ?? () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtGui.so.4
#10 0x00007ffff5404152 in QWidget::event(QEvent*) () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtGui.so.4
#11 0x00007ffff585b13b in QMenu::event(QEvent*) () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtGui.so.4
#12 0x00007ffff53aa83f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtGui.so.4
#13 0x00007ffff53b1b02 in QApplication::notify(QObject*, QEvent*) () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtGui.so.4
#14 0x00007ffff4150a74 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtCore.so.4
#15 0x00007ffff53ad667 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtGui.so.4
#16 0x00007ffff542dc49 in ?? () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtGui.so.4
#17 0x00007ffff542cc51 in QApplication::x11ProcessEvent(_XEvent*) () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtGui.so.4
#18 0x00007ffff5458468 in ?? () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtGui.so.4
#19 0x00007ffff0d4a526 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007ffff0d4a878 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007ffff0d4a91c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007ffff4182c1c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtCore.so.4
#23 0x00007ffff5457fff in ?? () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtGui.so.4
#24 0x00007ffff414fb25 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtCore.so.4
#25 0x00007ffff414fee6 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtCore.so.4
#26 0x00007ffff5859055 in QMenu::exec(QPoint const&, QAction*) () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtGui.so.4
#27 0x00000000005dd6c7 in caret::BrainOpenGLWidget::contextMenuEvent(QContextMenuEvent*) ()
#28 0x00007ffff540491c in QWidget::event(QEvent*) () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtGui.so.4
#29 0x00007ffff7b016aa in QGLWidget::event(QEvent*) () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtOpenGL.so.4
#30 0x00000000005dcb29 in caret::BrainOpenGLWidget::event(QEvent*) ()
#31 0x00007ffff53aa83f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtGui.so.4
#32 0x00007ffff53b35b4 in QApplication::notify(QObject*, QEvent*) () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtGui.so.4
#33 0x00007ffff4150a74 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtCore.so.4
#34 0x00007ffff542e101 in ?? () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtGui.so.4
#35 0x00007ffff542cc51 in QApplication::x11ProcessEvent(_XEvent*) () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtGui.so.4
#36 0x00007ffff5458468 in ?? () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtGui.so.4
#37 0x00007ffff0d4a526 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#38 0x00007ffff0d4a878 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#39 0x00007ffff0d4a91c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#40 0x00007ffff4182c1c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtCore.so.4
#41 0x00007ffff5457fff in ?? () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtGui.so.4
#42 0x00007ffff414fb25 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtCore.so.4
#43 0x00007ffff414fee6 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtCore.so.4
#44 0x00007ffff4151da6 in QCoreApplication::exec() () from /home/yoh/deb/perspect/workbench-standalone/workbench/libs_linux64/libQtCore.so.4
#45 0x00000000005a7e3b in main ()
P.S. if you could accompany the fix with the unit-test that would be awesome!
Upon trying to build workbench on Ubuntu 17.10, I get the following errors.
In file included from /home/loewe/workspace/external/workbench/src/Operations/OperationShowScene.cxx:30:0:
/usr/include/GL/osmesa.h:122:1: error: 'GLAPI' does not name a type; did you mean 'GLEWAPI'?
GLAPI OSMesaContext GLAPIENTRY
^~~~~
...
Here are my build commands (log files: cmake.log, make.log).
$ cmake -D CMAKE_BUILD_TYPE=Release -D WORKBENCH_MESA_DIR=/usr -D WORKBENCH_USE_QT5=TRUE -Wno-dev ../src > cmake.log 2>&1
$ make -j16 > make.log 2>&1
The problem seems to result from the following situation.
OperationShowScene.cxx
first includes glew.h
and then includes osmesa.h
glew.h
defines __gl_h_
so that gl.h
will not be included againglew.h
defines GLAPI
but undefines it in the endosmesa.h
would include gl.h
but doesn't because __gl_h_
has already been defined by glew.h
GLAPI
remains undefined resulting in the observed errorsA workaround that enables me to build is to define GLAPI
in OperationShowScene.cxx
in case it's not defined.
#ifdef HAVE_OSMESA
#ifndef GLAPI
#define GLAPI extern
#endif
#include <GL/osmesa.h>
#endif // HAVE_OSMESA
Is this an acceptable solution?
Would it be possible to release a 1.4.3 version that includes ac5fcb7 ?
Currently I can't build the release using the latest Qt5 (Qt 5.15.2), which breaks the Arch AUR package: https://aur.archlinux.org/packages/connectome-workbench/
I'm hesitant to use master since >500 commits were made!
Hi,
I am using CentOS7 and have installed workbench v.1.5.0. I receive a libGL error when I try to open wb_view
Info: Resources loaded:
:/About :/BalsaUploadDialog :/Cursor :/Fonts :/general_resources.qrc :/help_resources.qrc :/HelpFiles :/LayersPanel :/OLD_help_resources.qrc :/PaletteEditorDialog :/PaletteSettings :/qt-project.org :/RecentFilesDialog :/SceneFileDialog :/SpecFileDialog :/Splash :/ToolBar :/update_resources.sh
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
The user interface can still be loaded but it exits when I click 'Open Other...' and shows this error
bin_rh_linux64/wb_view: line 17: 38300 Segmentation fault "$directory"/../exe_rh_linux64/wb_view "$@"
Any suggestions about how to fix this problem? Thank you.
Regards,
Shaoshi
Are there any plans to implement a command-line interface to wb_view (something similar to those in FSLeyes and freeview)? This seems somewhat common in software of this class and might be useful to automate production of figures.
This message lacks the library name:
QuaZip: Using QuaZip Library
because the code looks like this:
SET(QuaZip-Qt5_RESULT "Using QuaZip Library ${QuaZip-Qt5_LIBRARIES}")
Hi,
Thanks for your work.
I'm unsure if this is the right place to ask question. But I find no forum on the webpage. I'm a newbie to MRI data. And my aim is to acquire the parcellation of MRI data I have. I know freesurfer could do this, but it only provide very rough desikan and another atlas whose number of parcellated areas is too few for me. I hope I could get output as the fine parcellation including AIP, PF, etc. when I provide my data input as T1 data.
I'm unsure if I rpovide enough information for u to understand. Let me know if anything unclear.
Best,
Mangp
workbench/src/Algorithms/AlgorithmCiftiSeparate.cxx
Lines 657 to 663 in ece7bcb
workbench/src/Algorithms/AlgorithmCiftiSeparate.cxx
Lines 702 to 708 in ece7bcb
error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long long') to 'int' in initializer list [-Wc++11-narrowing]
Implicit cast is no longer valid since c++11
. Either the array should be declared as type long long
, or we need to cast each single element to int
.
PS: Compiling the workbench with a newer version of QT5 works better on high resolution displays.
I have freesurfer files which are in LIA orientation, and a final space template in RAS. My pipeline looks something like this
mri_convert -ot nii brain.mgz T1w.nii.gz
flirt -in T1w.nii.gz -ref MNI152_T1_1mm.nii.gz -omat acpc.mat -out T1w_acpc.nii.gz
${FSLDIR}/bin/flirt -interp spline -dof 12 -in T1w_acpc.nii.gz -ref MNI152_T1_1mm.nii.gz -omat acpc2MNILinear.mat -out T1w_to_MNILinear.nii.gz
${FSLDIR}/bin/fnirt ... ... --out=acpc2standard.nii.gz
${FSLDIR}/bin/invertwarp --out=standard2acpc.nii.gz
sort of standard stuff as in HCP, only the beginning brain is in LIA. Now here's the key that I think should work, but isn't working...
we concatenate the acpc.mat to create a warpfield which goes straight from freesurfer to MNI, then do the opposite to get the inverse warp...
convertwarp --relout --rel --ref=T1w.nii.gz --premat=acpc.mat --warp1=acpc2standard.nii.gz --out=fs2standard.nii.gz
convert_xfm -omat inverse_acpc.mat -inverse acpc.mat
convertwarp --relout --rel --ref=MNI152_T1_1mm.nii.gz --postmat=inverse_acpc.mat --warp1=standard2acpc.nii.gz --out=standard2fs.nii.gz
testing both of these concatenated transforms, fs2standard.nii.gz, standard2fs.nii.gz on the anatomical volumes gives the correct outputs you would expect.
However, here:
wb_command -surface-apply-warpfield outputs2/T1w/fsaverage_LR32k/L.white.mytest32k_fs_LR.surf.gii standard2fstest.nii.gz .L.white_test.native.surf.gii -fnirt fs2standardtest.nii.gz
Resulting midthickness after application:
I do this identically to above, only, to start with the freesurfer image:
mri_convert --in_orientation LIA --out_orientation RAS -ot nii brain.mgz T1w.nii.gz
then we have a RAS -> RAS acpc.mat at least...
here I just have the white matter and the T1w2MNINonlinear image...
It looks like this might have applied the warp correctly but there's a translational offset? Not easy to tell.
Hoping for thoughts/experience in the matter.
Thank you.
I'm having trouble with opening a nifti (.nii) file of fMRI activity downloaded from Neurosynth. I am trying to display the activity on an inflated brain but the only way I can actually view the activity from the nifti file is in the "Volume" mode which just shows it as a brain scan. Anyone know how to open a nifti file and display it on an inflated brain in Workbench?
Hi. This is pretty minor, but the movie recording utility doesn't work by default in windows. The reason is because while workbench ships with a copy of ffmpeg, the path should have a back-slash instead of a hard-coded forward slash
workbench/src/Brain/MovieRecorder.cxx
Lines 538 to 540 in 69b9c4c
ATM it is needed to either enter numeric values explicitly or use the slidebar to adjust the threshold. With the nice histogram plot on the right it would be VERY nice if e.g. left-mouse click within histogram chose that value for "low" threshold, and right mouse click (seems to be not bound either) for "high" threshold.
is the library load an error? or something that can be ignored?
$ wb_command
Unable to load library icui18n "Cannot load library icui18n: (icui18n: cannot open shared object file: No such file or directory)"
Workbench
Version: Beta 0.85
Qt Compiled Version: 4.8.4
Qt Runtime Version: 4.8.4
commit: 14ba5c74f8cb92978ee1c0eb8b6a71de74c6479f
commit date: 2014-04-04 09:14:40 -0500
Compiled Debug: NO
Operating System: Linux
Information options:
-help print this help info
-arguments-help explain how to read the help info for subcommands
-version print version information only
-list-commands print all non-information (processing) subcommands
-all-commands-help print all non-information (processing) subcommands and
their help info - VERY LONG
Global options (can be added to any command):
-disable-provenance don't generate provenance info in output files
If the first argument is not recognized, all processing commands that start
with the argument are displayed
$
I see that there is a .travis.yml but it seems that builds do not run for PRs, so I guess travis is just not enabled or not enabled for PRs?
Hi,
I have followed the instructions to download the connectome workbench on my MacOS, but when I go into the file path for the workbench (/Applications/workbench/), I cannot open the application wb_command.
I was wondering if you could help me install the program?
From all of the instructions online it says I should be able to download the program, I have set the path in the terminal command as well.
Greatly appreciate your help.
Natasha
When I attempt to load reference GIfTI images they appear upside down (flipped in the head-foot dimension). Viewing the GIfTI header with a text editor suggests it uses an identity matrix, so this would not be influenced by applying the matrix to the points. I am using wb_view 1.3.2 on MacOS. The images that look wrong are the Brainvisa GIFTI samples v1.3 included in the BV_GIFTI_1.3.tar.gz, for example the sujet01_Lwhite.inflated.surf.gii. The image orientation also looks odd with independent Matlab scripts, so perhaps this is an issue with the reference images rather than the Connectome Workbench. However, since the GIfTI format was developed by the Workbench team, it might be good to determine if these odd images should be removed from the reference, or if the GIfTI specification should be clarified to allow consistent performance across tools.
Hey all,
I'm noticing that the behavior for a low-level command is different.
I have a series of separated ROI files that I need to add to a dtseries, replacing the contents of each subcortical structure at a time. In 1.4.2, this worked just fine by creating a temporary dtseries comprising all the data, and then replacing the structure of each dtseries component at a time:
wb_command -cifti-create-dense-timeseries ses-24mo_task-rest_run-01_temp_orig_atlas.dtseries.nii -volume ses-24mo_task-rest_run-01_2MNI.nii.gz ROIs/Atlas_ROIs.2.nii.gz
wb_command -cifti-create-dense-from-template ses-24mo_task-rest_run-01_temp_orig_atlas.dtseries.nii ses-24mo_task-rest_run-01_temp_atlas.dtseries.nii -series 0.8 0.0 -volume CEREBELLUM_LEFT ses-24mo_task-rest_run-01_ROI0000.nii.gz
wb_command -cifti-replace-structure ses-24mo_task-rest_run-01_temp_atlas.dtseries.nii COLUMN -volume THALAMUS_LEFT ses-24mo_task-rest_run-01_ROI0001.nii.gz
In 1.5.0, such a strategy produces an error:
"While running:
/panfs/roc/groups/8/faird/shared/code/external/utilities/workbench/1.5.0/workbench/bin_linux64/../exe_linux64/wb_command -cifti-replace-structure ses-24mo_task-rest_run-01_temp_atlas.dtseries.nii COLUMN -volume THALAMUS_LEFT ses-24mo_task-rest_run-01_ROI0001.nii.gz
ERROR: -volume specified more than once with structure THALAMUS_LEFT"
I'm looking for an alternative way of doing this, if anyone has a workaround, that would be great.
Hello,
When starting wb_view I get the following error:
<path>/workbench/bin_linux64/../exe_linux64/wb_view: <path>/workbench/bin_linux64/../libs_linux64/libz.so.1: version
ZLIB_1.2.9' not found (required by /usr/lib/x86_64-linux-gnu/libpng16.so.16)
/workbench/bin_linux64/../exe_linux64/wb_view: /workbench/bin_linux64/../libs_linux64/libz.so.1: version ZLIB_1.2.3.4' not found (required by /usr/lib/x86_64-linux-gnu/libpng16.so.16)
I have seen some hints online but I would like to know what is the correct way to fix this.
Thank you in advance!
As revealed in #5, workbench -help
is not usable without X (and stalls under xvfb). If you see that it requires considerable change of code -- feel welcome to close... just wanted to run by you
otherwise:
$> git describe
fatal: No annotated tags can describe 'ff1307fbdc31da001014577b9016ae4ddcee0796'.
However, there were unannotated tags: try --tags.
$> git describe --tags
0.85-24-gff1307f
Hello wb developers,
I suddenly cannot open the wb_view, which acting no error before. It says "OpenGL (3D Graphics System) is not available. This may be caused by missing or outdated OpenGL libraries.On Linux, this may be caused by a missing plugin library /xcbglintegrations/libqxcb-glx-integration.so." My operating system is Ubuntu 20.04
Hello,
We are running Ubuntu 18.04 LTS. Trying to compile from source but found this error.
Here is the output I receive from:
cmake -D CMAKE_BUILD_TYPE=Release -D WORKBENCH_MESA_DIR=/usr/include/GL/osmesa.h -D WORKBENCH_USE_QT5=TRUE ../src
gcc version is: 7-- Checking for module 'qwt'
-- No package 'qwt' found
-- Checking for module 'glm'
-- No```
package 'glm' found
OpenGL Include Directory: /usr/include
OpenGL Libraries: /usr/lib/x86_64-linux-gnu/libGL.so;/usr/lib/x86_64-linux-gnu/libGLU.so
-- Checking for module 'ftgl'
-- No package 'ftgl' found
-- GCC version >= 4.7
-- GCC version >= 7.1
************* SUMMARY FROM RUNNING CMake ********************
TOOLS:
CMake Build Type: Release
CMake Version: 3.10.2
CXX Compiler GNU
CXX Compiler Version: 7.5.0
CXX Compiler Flags: -fopenmp
CXX Compiler Path: /usr/bin/c++
QMake Program: /usr/bin/qmake
WORKBENCH VARIABLES:
WORKBENCH_INCLUDE_HELP_HTML_RESOURCES=TRUE
If TRUE, help (html) pages in src/Resources/Help are available in wb_view
WORKBENCH_MESA_DIR=/usr/include/GL/osmesa.h
Directory containing Mesa's 'include' and 'lib'
directories. Mesa is optional and used by
wb_command's -show-scene operation.
WORKBENCH_QT5_DISABLE_DEPRECATED=FALSE
If TRUE, use of Qt 5 deprecated functionality will cause compiler to fail
WORKBENCH_USE_CMAKE_AUTOMOC=FALSE
If TRUE, use CMAKE_AUTOMOC command for generating 'moc' files
WORKBENCH_USE_QT5=TRUE
If TRUE, require Qt5, else Qt4.
Specify as argument to cmake: -DWORKBENCH_USE_QT5=TRUE
WORKBENCH_USE_QT5_QOPENGL_WIDGET=FALSE
With Qt5, QOpenGLWidget instead of deprecated QGLWidget
WORKBENCH_USE_SIMD=TRUE
try to compile with SIMD support
PACKAGES:
FTGL: In Workbench Source Code
FreeType: 2.8.1 /usr/lib/x86_64-linux-gnu/libfreetype.so
GLEW: No
GLMath: In Workbench Source Code
OpenGL: /usr/lib/x86_64-linux-gnu/libGL.so/usr/lib/x86_64-linux-gnu/libGLU.so
OpenMP: Yes
OpenSSL: 1.1.1 /usr/lib/x86_64-linux-gnu/libssl.so/usr/lib/x86_64-linux-gnu/libcrypto.so
OSMESA: Not found
Qt: 5.9.5
QuaZip: In Workbench Source Code
Qwt: In Workbench Source Code
SIMD: Enabled
ZLIB: 1.2.11
************* END SUMMARY FROM RUNNING CMake *****************
-- Configuring done
-- Generating done
-- Build files have been written to: /test/build
nice make -j8
`
[ 0%] Built target cpuinfo
[ 0%] Built target dot_sse2
[ 1%] Built target dot_avxfma
[ 1%] Built target dot_avx
[ 1%] Built target dot_avx512
[ 1%] Built target dot_avx512fma
[ 1%] Built target dot_naive
[ 2%] Built target Quazip
[ 2%] Built target OSMesaDummy
[ 3%] Built target Xml
[ 5%] Built target Scenes
[ 8%] Built target FtglFont
[ 8%] Built target Palette
[ 8%] Built target QxtCore
[ 8%] Built target FilesBase
[ 10%] Built target Charting
[ 13%] Built target Annotations
[ 14%] Built target Nifti
[ 14%] Built target Gifti
[ 14%] Built target OperationsBase
[ 15%] Built target Cifti
[ 16%] Built target Graphics
[ 17%] Built target Commands
[ 18%] Built target Tests
[ 18%] Built target dot
[ 24%] Built target Qwt
[ 29%] Built target Operations
[ 37%] Built target Files
[ 46%] Built target Brain
[ 53%] Built target Common
[ 59%] Built target Algorithms
[ 59%] Built target wb_command
[ 99%] Built target GuiQt
[ 99%] Linking CXX executable test_driver
[100%] Built target wb_view/usr/bin/ld: ../Graphics/libGraphics.a(GraphicsEngineDataOpenGL.cxx.o): undefined reference to symbol 'glEnable'
//usr/lib/x86_64-linux-gnu/libGL.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Tests/CMakeFiles/test_driver.dir/build.make:128: recipe for target 'Tests/test_driver' failed
make[2]: *** [Tests/test_driver] Error 1
CMakeFiles/Makefile2:1552: recipe for target 'Tests/CMakeFiles/test_driver.dir/all' failed
make[1]: *** [Tests/CMakeFiles/test_driver.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
`
I'm confused as to what is causing this error. You input would greatly be appreciated.
Thanks in advance.
/disk-samsung/freebsd-ports/biology/connectome-workbench/work/workbench-1.5.0-430-g1e6d5c5c9/src/Algorithms/AlgorithmCiftiSeparate.cxx:657:28: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'int' in initializer list [-Wc++11-narrowing]
int extrema[6] = { myMap[0].m_ijk[0],
^~~~~~~~~~~~~~~~~
/disk-samsung/freebsd-ports/biology/connectome-workbench/work/workbench-1.5.0-430-g1e6d5c5c9/src/Algorithms/AlgorithmCiftiSeparate.cxx:657:28: note: insert an explicit cast to silence this issue
int extrema[6] = { myMap[0].m_ijk[0],
^~~~~~~~~~~~~~~~~
static_cast<int>()
/disk-samsung/freebsd-ports/biology/connectome-workbench/work/workbench-1.5.0-430-g1e6d5c5c9/src/Algorithms/AlgorithmCiftiSeparate.cxx:658:13: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'int' in initializer list [-Wc++11-narrowing]
myMap[0].m_ijk[0],
^~~~~~~~~~~~~~~~~
/disk-samsung/freebsd-ports/biology/connectome-workbench/work/workbench-1.5.0-430-g1e6d5c5c9/src/Algorithms/AlgorithmCiftiSeparate.cxx:658:13: note: insert an explicit cast to silence this issue
myMap[0].m_ijk[0],
^~~~~~~~~~~~~~~~~
static_cast<int>()
/disk-samsung/freebsd-ports/biology/connectome-workbench/work/workbench-1.5.0-430-g1e6d5c5c9/src/Algorithms/AlgorithmCiftiSeparate.cxx:659:13: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'int' in initializer list [-Wc++11-narrowing]
myMap[0].m_ijk[1],
^~~~~~~~~~~~~~~~~
clang-13
FreeBSD 13.1
Hi,
is it possible to install workbench on Suse Linux?
Best,
Steph
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.