Skip to main content

[s2plot] s2volsurf, PGPLOT, and PyNIfTI

Probably there is someone like me who is reappearing this paper's contributions:

Embedding and Publishing Interactive, 3-Dimensional, Scientific Figures in Portable Document Format (PDF) Files
The essential source codes can be download from the following (mentioned in s2volsurf's Install.txt):

pgplot
NIFTICLIB

For the installation (refer to my previous page), first of all, you have to change the path of cbuild.csh accordingly:
For example, in build.csh, change the following line (my S2plot is installed in /usr/local/s2plot):
cbuild.csh objrange
to
/usr/local/s2plot/scripts/cbuild.csh objrange 
Then in cbuild.csh, the command for linking should be changed as well: (zlib bug?)
from
$S2CLINKER -o $target ${object} -L${S2PATH}/${S2KERNEL} ${S2LINKS}
 ${MLLINKS} ${SWLINKS} ${GLLINKS} -L${S2X11PATH}/lib${S2LBITS} 
 ${S2FORMSLINK}  -lX11 ${IMATH} -lm ${XLINKPATH} ${S2EXTRALIB}
to
$S2CLINKER -o $target ${object} -L${S2PATH}/${S2KERNEL} ${S2LINKS}
 ${MLLINKS} ${SWLINKS} ${GLLINKS} -L${S2X11PATH}/lib${S2LBITS}
 ${S2FORMSLINK}  -lX11 ${IMATH} -lm ${XLINKPATH} ${S2EXTRALIB} -lz

In the paper, they use the data from PGPLOT and NIFTICLIB to elaborate the effectiveness. 

======================For PGPLOT

For PGPLOT, you will need G77 , and run makemake with the according input:


pgplot_dist = The top level directory of the PGPLOT distribution.
(ie. The directory in which makemake was found!).

operating_system = Operating system name (omit this to get a list).

configuration = Optional if there is only one for the specified OS.
(Otherwise you will be presented with a list)

In my case, I point pgplot_dist to ~/development/s2plot/Source/pgplot
operating_system to linux
configuration to g77_gcc_aout


=======================FOR NIFTICLIB
From the ubuntu software center, you can find out something related to NIFTICLIB 2.0.
Here is the tip for someone like me who doesn't know Makefile auto generation:
We can notice that there are some files related to Cmake.
By reading the README.txt, you will execute make all directly, which is wrong.
You will need cmake to help you build up the dependency file, e.g., depend.mk in the sub-directories.
(execute in side the source code)
cmake ../nifticlib-2.0.0
make all

Scanning dependencies of target znz
[ 12%] Building C object znzlib/CMakeFiles/znz.dir/znzlib.o
Linking C static library libznz.a
[ 12%] Built target znz
Scanning dependencies of target niftiio
[ 25%] Building C object niftilib/CMakeFiles/niftiio.dir/nifti1_io.o
Linking C static library libniftiio.a
[ 25%] Built target niftiio
Scanning dependencies of target nifticdf
[ 37%] Building C object nifticdf/CMakeFiles/nifticdf.dir/nifticdf.o
Linking C static library libnifticdf.a
[ 37%] Built target nifticdf
Scanning dependencies of target nifti1_test
[ 50%] Building C object utils/CMakeFiles/nifti1_test.dir/nifti1_test.o
Linking C executable nifti1_test
[ 50%] Built target nifti1_test
Scanning dependencies of target nifti_stats
[ 62%] Building C object utils/CMakeFiles/nifti_stats.dir/nifti_stats.o
Linking C executable nifti_stats
[ 62%] Built target nifti_stats
Scanning dependencies of target nifti_tool
[ 75%] Building C object utils/CMakeFiles/nifti_tool.dir/nifti_tool.o
Linking C executable nifti_tool
[ 75%] Built target nifti_tool
Scanning dependencies of target first_test
[ 87%] Building C object Testing/niftilib/CMakeFiles/first_test.dir/nifti_test.o
Linking C executable first_test
[ 87%] Built target first_test
Scanning dependencies of target second_test
[100%] Building C object Testing/niftilib/CMakeFiles/second_test.dir/nifti_test2.o
Linking C executable second_test


Comments

Popular posts from this blog

RSB+RTEMS 5/6 with QEMU-SMP (ARM realview_pbx_a9_qemu as example)

Since I got a request regarding this blog  written in 2016, summarizing again the complete flow with the latest version of RTEMS could be a good idea. Prepare a suitable workspace according to the adopted operating system on your host ( https://docs.rtems.org/branches/master/user/hosts/index.html ):  sudo apt-get build-dep build-essential gcc-defaults g++ gdb git unzip pax bison flex texinfo unzip python3-dev libpython-dev libncurses5-dev zlib1g-dev Checkout RSB and build: git clone git://git.rtems.org/rtems-source-builder.git rsb change directory to rsb/rtems/ and type ../source-builder/sb-set-builder --prefix=<the path you like to store the built toolchains> <the name of bsp> For example, to use QEMU, I need toolchains for ARM, so: ../source-builder/sb-set-builder --prefix=/home/kh.chen/respository/build/. 6/rtems-arm This will take a while. Please ensure your connection is reliable. Add the built folder into your PATH. For example, you can add one line in ~/.bas...

[LEGO nxt] Install the Enhanced NXT firmware and Upload the OSEK excutable file with Ubuntu 64bits 14.04 in 2015

This tutorial is referred from Install the Enhanced NXT firmware on NXT . I think this is the critical part to capture the idea from the tutorial for Windows. I have tried many ways to conquer the problem of libnxt3.0, however, I still have some problems on the compilation of fwflash or something else. Though the tutorial for Windows is doable, my preference is to build up everything with Linux environment. Fortunately, I notice that NxTTool in the tutorial for Windows is really powerful. We can handle the firmware updating by using NxTTool in Linux as well! I also refer to this Japanese Blog , which inspire me a lot. As usual, install the required packages: sudo apt-get install libusb-dev:i386 libusb-0.1-4 subversion fpc Please note, here is the case for 64bits user that I change libusb-dev to libusb-dev:i386 comparing to the original tutorial. Instead of using libnxt to do the uploading, here I follow that JP Blog to get the latest version of bricxcc: (The url in blog i...

Virtualenv experience or alternatives

Today I have a project which requires several packages on my python. However, due to whatever reason, I have a lot of different versions of python. Before I thought, it was fine to just install and maintain each by each. Maybe it is time to learn how to use virtualenv. (alternatively, you can use module). I first got some quick ideas from here: https://stackoverflow.com/questions/10763440/how-to-install-python3-version-of-package-via-pip-on-ubuntu The magic virtualenv does is that, it copies a series of your python binaries, include, pip, etc., into a folder. The prepared activate script does that, add the export folder into the general variable PATH at its beginning. By doing so, the targeted version of python will be the first target that will be executed. To enable virtualenv, source the position of the above folder/bin/activate To leave the virtualenv, just type deactivate, as it is defined when you load the activate script. For example, I call virtualenv in my home ...