Skip to content

Commit

Permalink
""
Browse files Browse the repository at this point in the history
  • Loading branch information
Scott Love committed Feb 9, 2017
1 parent 4e5aa8b commit 06692c1
Show file tree
Hide file tree
Showing 31 changed files with 2,987 additions and 0 deletions.
Binary file added svca4_ClassGui.fig
Binary file not shown.
235 changes: 235 additions & 0 deletions svca4_ClassGui.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,235 @@
function varargout = svca4_ClassGui(varargin)
% svca4_ClassGui MATLAB code for svca4_ClassGui.fig

% Edit the above text to modify the response to help svca4_ClassGui

% Last Modified by GUIDE v2.5 25-Jan-2017 16:27:24

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @svca4_ClassGui_OpeningFcn, ...
'gui_OutputFcn', @svca4_ClassGui_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT

% --- Executes just before svca4_ClassGui is made visible.
function svca4_ClassGui_OpeningFcn(hObject, eventdata, handles, varargin)
% Choose default command line output for svca4_ClassGui

handles.output = varargin{1};

% change max frame dropdown
tmp = load_nii_hdr(fullfile(handles.output.PET_dir,handles.output.PET_list{1}));
handles.max_frame.String = 1:tmp.dime.dim(5);
handles.max_frame.Value = handles.output.nFrames;

% change targets
handles.target_subs.String = num2str(handles.output.targetIDs);

% change targets
handles.blood_subs.String = num2str(handles.output.BLOOD_sel);

% change targets
handles.gmwm_subs.String = num2str(handles.output.GMWM_sel);

% change targets
handles.classSubs.String = num2str(handles.output.classIDs);

% change targets
handles.tspo_subs.String = num2str(handles.output.TSPO_sel);
% Update handles structuref
guidata(hObject, handles);

% UIWAIT makes svca4_ClassGui wait for user response (see UIRESUME)
%uiwait(handles.figure1);

global svca4


% --- Outputs from this function are returned to the command line.
function varargout = svca4_ClassGui_OutputFcn(hObject, eventdata, handles)
global svca4

varargout{1} = svca4;
%delete(handles.figure1);

% --- Executes on button press in out_path.
function out_path_Callback(hObject, eventdata, handles)
global svca4
if get(hObject,'Value') == 1
svca4.outputPath = uigetdir('','Select the output PATH');
end
hObject.Value = 0;

% --- Executes on button press in PET_data.
function PET_data_Callback(hObject, eventdata, handles)
global svca4

if get(hObject,'Value') == 1
[svca4.PET_list, svca4.PET_dir] = uigetfile({'*.nii','*.nii.gz'},'Select the PET data','MultiSelect','on');
end
hObject.Value = 0;

% --- Executes on button press in t1_data.
function t1_data_Callback(hObject, eventdata, handles)
global svca4

if get(hObject,'Value') == 1
[svca4.MRI_list, svca4.MRI_dir] = uigetfile({'*.nii','*.nii.gz'},'Select MRI files','MultiSelect','on');
end
hObject.Value = 0;

% --- Executes on button press in brain_masks.
function brain_masks_Callback(hObject, eventdata, handles)
global svca4

if get(hObject,'Value') == 1
[svca4.MASK_list, svca4.MASK_dir] = uigetfile({'*.nii','*.nii.gz'},'Select brain masks','MultiSelect','on');
end
hObject.Value = 0;

% --- Executes on button press in gmwm_masks.
function gmwm_masks_Callback(hObject, eventdata, handles)
global svca4

if get(hObject,'Value') == 1
[svca4.SEG_list, svca4.SEG_dir] = uigetfile({'*.nii','*.nii.gz'},'Select segmented MRI files','MultiSelect','on');
end
hObject.Value = 0;

% --- Executes on button press in venous_masks.
function venous_masks_Callback(hObject, eventdata, handles)
global svca4

if get(hObject,'Value') == 1
[svca4.BANANA_list svca4.BANANA_dir] = uigetfile({'*.nii','*.nii.gz'},'Select Venous sinus masks','MultiSelect','on');
end
hObject.Value = 0;

% --- Executes on button press in tspo_masks.
function tspo_masks_Callback(hObject, eventdata, handles)
global svca4

if get(hObject,'Value') == 1
[svca4.INF_list, svca4.INF_dir] = uigetfile({'*.nii','*.nii.gz'},'Select TSPO masks','MultiSelect','on');
end
hObject.Value = 0;

% --- Executes on button press in time_data.
function time_data_Callback(hObject, eventdata, handles)
global svca4

if get(hObject,'Value') == 1
[svca4.TIMES, svca4.TIMES_dir] = uigetfile({'*.txt'},'Select acquisition time files','MultiSelect','on');
end
hObject.Value = 0;

% --- Executes when user attempts to close figure1.
function figure1_CloseRequestFcn(hObject, eventdata, handles)
if isequal(get(hObject, 'waitstatus'), 'waiting')
% The GUI is still in UIWAIT, us UIRESUME
uiresume(hObject);
else
% The GUI is no longer waiting, just close it
delete(hObject);
end

% --- Executes on selection change in max_frame.
function max_frame_Callback(hObject, eventdata, handles)
global svca4
contents = cellstr(get(hObject,'String'));
svca4.nFrames = str2num(contents{get(hObject,'Value')});

% --- Executes during object creation, after setting all properties.
function max_frame_CreateFcn(hObject, eventdata, handles,varargin)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function target_subs_Callback(hObject, eventdata, handles)
global svca4

svca4.targetIDs = str2num(get(hObject,'String'));

% --- Executes during object creation, after setting all properties.
function target_subs_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function blood_subs_Callback(hObject, eventdata, handles)
global svca4

svca4.BLOOD_sel = str2num(get(hObject,'String'));

% --- Executes during object creation, after setting all properties.
function blood_subs_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function gmwm_subs_Callback(hObject, eventdata, handles)
global svca4

svca4.GMWM_sel = str2num(get(hObject,'String'));

% --- Executes during object creation, after setting all properties.
function gmwm_subs_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function tspo_subs_Callback(hObject, eventdata, handles)
global svca4

svca4.TSPO_sel = str2num(get(hObject,'String'));
guidata(hObject, handles);

% --- Executes during object creation, after setting all properties.
function tspo_subs_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

% --- Executes on button press in calc.
function calc_Callback(hObject, eventdata, handles)
%global svca4 %not sure if this should be handles.output instead !!! Really need to clean this up in this code
global svca4
if get(hObject,'Value') == 1
[TAC_TABLE] = svca4_calculate_classes(svca4);
%[TAC_TABLE] = svca4_calculate_classes_yaqub(svca4);
%figure1_CloseRequestFcn(gcbf, eventdata, handles)
end

% --- Executes on button press in save_svca4.
function save_svca4_Callback(hObject, eventdata, handles)
global svca4
uisave('svca4', 'svca4.mat')


function classSubs_Callback(hObject, eventdata, handles)
global svca4

svca4.classIDs = str2num(get(hObject,'String'));
guidata(hObject, handles);

% --- Executes during object creation, after setting all properties.
function classSubs_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
Binary file added svca4_MaskGui.fig
Binary file not shown.
127 changes: 127 additions & 0 deletions svca4_MaskGui.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
function varargout = svca4_MaskGui(varargin)
% SVCA4_MASKGUI MATLAB code for svca4_MaskGui.fig
% SVCA4_MASKGUI, by itself, creates a new SVCA4_MASKGUI or raises the existing
% singleton*.
%
% H = SVCA4_MASKGUI returns the handle to a new SVCA4_MASKGUI or the handle to
% the existing singleton*.
%
% SVCA4_MASKGUI('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in SVCA4_MASKGUI.M with the given input arguments.
%
% SVCA4_MASKGUI('Property','Value',...) creates a new SVCA4_MASKGUI or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before svca4_MaskGui_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to svca4_MaskGui_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help svca4_MaskGui

% Last Modified by GUIDE v2.5 14-Dec-2016 10:14:18

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @svca4_MaskGui_OpeningFcn, ...
'gui_OutputFcn', @svca4_MaskGui_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT


% --- Executes just before svca4_MaskGui is made visible.
function svca4_MaskGui_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% --- Outputs from this function are returned to the command line.
function varargout = svca4_MaskGui_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;


% --- Executes on selection change in subs.
function subs_Callback(hObject, eventdata, handles)


% --- Executes during object creation, after setting all properties.
function subs_CreateFcn(hObject, eventdata, handles)
global svca4
dr = dir(svca4.SUBJECTS_DIR);
dr(1:2) = [];
drFlags = [dr.isdir];

set(hObject,'String',{dr(drFlags).name});
set(hObject,'Max',length(svca4.PET_list));

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

% --- Executes on selection change in rois.
function rois_Callback(hObject, eventdata, handles)


% --- Executes during object creation, after setting all properties.
function rois_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

% --- Executes on button press in createMask.
function createMask_Callback(hObject, eventdata, handles)
global svca4
setenv('PATH', [getenv('PATH') ':/usr/local/bin']);
if ~exist([svca4.outputPath '/roiMasks'],'dir')
mkdir([svca4.outputPath '/roiMasks'])
end
subj = handles.subs.String(handles.subs.Value);

outRoiNums = cellfun(@strtok, handles.rois.String(handles.rois.Value),'UniformOutput',false);
outRoiNums = cellfun(@str2num,outRoiNums,'UniformOutput',false);
outRoiNums = [outRoiNums{:}];
zs = zeros(size(outRoiNums));

changeVec = [outRoiNums; zs];
changeVec = changeVec(:)';

inds = handles.subs.Value; % indices to the subjects
for s = 1:length(handles.subs.Value) % loop on subjects
% this will use the c3d commands that come with itksnap. You may have
% problems with the path to this command. Put the c3d executable in a
% folder in the computers $PATH. See the setenv call above, you may
% need to change /usr/local/bin for example. Basically make the c3d
% executable visible to the terminal MATLAB calls.
roiFile = fullfile(svca4.SUBJECTS_DIR, subj{s}, 'label', [subj{s} '_AparcAseg_in_PET.nii.gz']);
outFile = fullfile(svca4.outputPath, 'roiMasks', [subj{s} '_' handles.outName.String]);
cmd = ['source ${HOME}/.profile; c3d ' roiFile ' -replace ' num2str(changeVec) ' -binarize -o ' outFile];
system(cmd);
end

function outName_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all properties.
function outName_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
Binary file added svca4_PlotClassGui.fig
Binary file not shown.
Loading

0 comments on commit 06692c1

Please sign in to comment.