Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 63 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
FROM nvidia/cuda:12.2.2-runtime-ubuntu22.04
ARG TAG_ANTS
RUN apt-get update && apt-get full-upgrade -y && \
apt-get install --no-install-recommends -y \
software-properties-common \
unzip \
curl \
wget \
make \
git \
libboost-all-dev \
zlib1g-dev \
ca-certificates \
qt6-base-dev \
qt6-base-dev-tools \
qt6-base-private-dev \
qt6-tools-dev \
qt6-tools-dev-tools \
qt6-l10n-tools \
libqt6charts6-dev \
libqt6opengl6-dev \
libzip-dev \
mesa-common-dev \
libglu1-mesa-dev \
build-essential \
gnupg \
bc \
ninja-build \
apt-transport-https && \
wget -O /tmp/kitware-archive.key https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null && \
gpg --dearmor /tmp/kitware-archive.key && \
mv /tmp/kitware-archive.key.gpg /usr/share/keyrings/kitware-archive-keyring.gpg && \
echo "deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ jammy main" > /etc/apt/sources.list.d/kitware.list && \
apt-get update && \
apt-get -y install cmake cmake-data && \
update-alternatives --install /usr/bin/qmake qmake /usr/lib/qt6/bin/qmake6 100 && \
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

COPY . /opt/dsi-studio/src
RUN cd /opt/dsi-studio \
&& sed -i '/color_bar_dialog/d;/filebrowser/d;/mac_filesystem/d' src/dsi_studio.pro \
&& sed -i 's/DSI_STUDIO_LOGIN/""/g' src/mainwindow.cpp \
&& mkdir build && cd build \
&& qmake ../src/dsi_studio.pro && make -j 1

ARG ATLAS_SHA=59a1ca250845e569813ca6a2c5702d74f4d4cb4a
ARG UNET_SHA=3ec6aa9513c0c8bbb90399a7af16245b594cd09b

RUN cd /opt/dsi-studio \
&& mv build/dsi_studio . \
&& chmod 755 dsi_studio \
&& cp -R src/other/* . \
&& rm -rf src build \
&& curl -sSLO https://github.com/frankyeh/UNet-Studio-Data/archive/${UNET_SHA}.zip \
&& unzip ${UNET_SHA}.zip \
&& rm ${UNET_SHA}.zip \
&& mv UNet-Studio-Data-${UNET_SHA}/network/ . \
&& rm -rf UNet-Studio-Data-${UNET_SHA} \
&& curl -sSLO https://github.com/data-others/atlas/archive/${ATLAS_SHA}.zip \
&& unzip ${ATLAS_SHA}.zip \
&& rm -rf DSI-Studio-atlas-${ATLAS_SHA}/.git \
&& mv atlas-${ATLAS_SHA} atlas \
&& rm ${ATLAS_SHA}.zip
3 changes: 2 additions & 1 deletion cmd/ana.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -673,7 +673,8 @@ int ana_tract(tipl::program_option<tipl::out>& po,std::shared_ptr<fib_data> hand
}
}
if(tipl::ends_with(output,".trk.gz") ||
tipl::ends_with(output,".tt.gz"))
tipl::ends_with(output,".tt.gz") ||
tipl::ends_with(output,".trx"))
{
tipl::out() << "saving multiple tracts into one file: " << output;
if(!TractModel::save_all(output,tracts))
Expand Down
2 changes: 1 addition & 1 deletion cmd/trk.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -487,7 +487,7 @@ int trk_post(tipl::program_option<tipl::out>& po,

if(output_track)
{
if(!tipl::ends_with(tract_file_name,{".tt.gz",".trk.gz",".trk",".tck",".txt",".mat"}))
if(!tipl::ends_with(tract_file_name,{".tt.gz",".trx",".trk.gz",".trk",".tck",".txt",".mat"}))
tract_file_name += "." + po.get("trk_format","tt.gz");
bool failed = false;
if(po.has("ref")) // save track in T1W/T2W space
Expand Down
191 changes: 191 additions & 0 deletions dsi_studio.pro
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
QT += core \
gui \
opengl \
charts \
network

greaterThan(QT_MAJOR_VERSION, 5): QT += widgets
equals(QT_MAJOR_VERSION, 6): DEFINES += QT6_PATCH

CONFIG += c++17
# CONFIG += console

TARGET = dsi_studio
TEMPLATE = app

INCLUDEPATH += ./plot
DEFINES += TIPL_USE_QT

linux* {
QMAKE_CXXFLAGS += -fpermissive -Wno-sign-compare
CONFIG += link_pkgconfig
PKGCONFIG += libzip eigen3
PKGCONFIG += spdlog fmt
LIBS += -lGLU -lz -lzip -lspdlog -lfmt
}

win32* {
INCLUDEPATH += ../include $$[QT_INSTALL_HEADERS]/QtZlib
QMAKE_CXXFLAGS += -wd4244 -wd4267 -wd4018
LIBS += -lOpenGL32 -lGlu32
RC_ICONS = dsi_studio.ico
}

mac {
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.15
INCLUDEPATH += /Users/admin/include
ICON = dsi_studio.icns
LIBS += -lz
}

INCLUDEPATH += libs \
libs/dsi \
libs/tracking \
libs/mapping \
dicom \
/home/matt/projects/trx_dsi_studio/DSI-Studio-TRX/trx-cpp/include

HEADERS += mainwindow.h \
console.h \
dicom/dicom_parser.h \
dicom/dwi_header.hpp \
libs/dsi/tessellated_icosahedron.hpp \
libs/dsi/odf_process.hpp \
libs/dsi/image_model.hpp \
libs/dsi/gqi_process.hpp \
libs/dsi/gqi_mni_reconstruction.hpp \
libs/dsi/dti_process.hpp \
libs/dsi/basic_voxel.hpp \
SliceModel.h \
tracking/tracking_window.h \
reconstruction/reconstruction_window.h \
tracking/slice_view_scene.h \
opengl/glwidget.h \
opengl/renderingtablewidget.h \
opengl/tract_render.hpp \
opengl/region_render.hpp \
libs/tracking/tracking_method.hpp \
libs/tracking/roi.hpp \
libs/tracking/fib_data.hpp \
libs/tracking/basic_process.hpp \
libs/tracking/tract_cluster.hpp \
tracking/region/regiontablewidget.h \
tracking/region/Regions.h \
libs/tracking/tract_model.hpp \
tracking/tract/tracttablewidget.h \
qcolorcombobox.h \
libs/tracking/tracking_thread.hpp \
libs/mapping/atlas.hpp \
view_image.h \
manual_alignment.h \
tracking/tract_report.hpp \
tracking/connectivity_matrix_dialog.h \
tracking/atlasdialog.h \
qcompletelineedit.h \
libs/mapping/connectometry_db.hpp \
connectometry/createdbdialog.h \
connectometry/match_db.h \
connectometry/db_window.h \
connectometry/group_connectometry.hpp \
connectometry/group_connectometry_analysis.h \
regtoolbox.h \
auto_track.h \
tracking/device.h \
tracking/devicetablewidget.h \
libs/dsi/hist_process.hpp \
xnat_dialog.h \
/home/matt/projects/trx_dsi_studio/DSI-Studio-TRX/trx-cpp/include/trx/trx.h \
/home/matt/projects/trx_dsi_studio/DSI-Studio-TRX/trx-cpp/include/trx/trx.tpp \
/home/matt/projects/trx_dsi_studio/DSI-Studio-TRX/trx-cpp/include/trx/filesystem.h

FORMS += mainwindow.ui \
console.ui \
tracking/tracking_window.ui \
reconstruction/reconstruction_window.ui \
dicom/dicom_parser.ui \
view_image.ui \
manual_alignment.ui \
tracking/tract_report.ui \
tracking/connectivity_matrix_dialog.ui \
tracking/atlasdialog.ui \
connectometry/createdbdialog.ui \
connectometry/match_db.ui \
connectometry/db_window.ui \
connectometry/group_connectometry.ui \
regtoolbox.ui \
auto_track.ui \
xnat_dialog.ui

RESOURCES += \
icons.qrc

SOURCES += main.cpp \
console.cpp \
mainwindow.cpp \
dicom/dicom_parser.cpp \
dicom/dwi_header.cpp \
cmd/img.cpp \
libs/dsi/dsi_interface_imp.cpp \
libs/dsi/gqi_process.cpp \
libs/tracking/tract_cluster.cpp \
SliceModel.cpp \
tracking/tracking_window.cpp \
tracking/tracking_window_action.cpp \
reconstruction/reconstruction_window.cpp \
tracking/slice_view_scene.cpp \
opengl/glwidget.cpp \
opengl/tract_render.cpp \
opengl/region_render.cpp \
opengl/renderingtablewidget.cpp \
tracking/region/regiontablewidget.cpp \
tracking/region/Regions.cpp \
libs/tracking/tract_model.cpp \
tracking/tract/tracttablewidget.cpp \
qcolorcombobox.cpp \
cmd/trk.cpp \
cmd/rec.cpp \
cmd/src.cpp \
libs/mapping/atlas.cpp \
cmd/ana.cpp \
view_image.cpp \
manual_alignment.cpp \
tracking/tract_report.cpp \
cmd/exp.cpp \
tracking/connectivity_matrix_dialog.cpp \
libs/dsi/tessellated_icosahedron.cpp \
cmd/atl.cpp \
tracking/atlasdialog.cpp \
cmd/cnt.cpp \
cmd/vis.cpp \
qcompletelineedit.cpp \
libs/tracking/roi.cpp \
libs/tracking/fib_data.cpp \
libs/tracking/tracking_thread.cpp \
cmd/ren.cpp \
libs/mapping/connectometry_db.cpp \
connectometry/createdbdialog.cpp \
connectometry/match_db.cpp \
connectometry/db_window.cpp \
connectometry/group_connectometry.cpp \
connectometry/group_connectometry_analysis.cpp \
regtoolbox.cpp \
cmd/cnn.cpp \
cmd/qc.cpp \
libs/dsi/basic_voxel.cpp \
libs/dsi/image_model.cpp \
cmd/reg.cpp \
auto_track.cpp \
cmd/atk.cpp \
tracking/device.cpp \
tracking/devicetablewidget.cpp \
cmd/xnat.cpp \
xnat_dialog.cpp \
/home/matt/projects/trx_dsi_studio/DSI-Studio-TRX/trx-cpp/src/trx.cpp

OTHER_FILES += \
options.txt \
dicom_tag.txt \
FreeSurferColorLUT.txt

DISTFILES += \
LICENSE
Loading