% demo3DPrimitives 
%
% Synthesizes 1 image using a lysosomal model with sampling mode
% set to 'disc', no convolution and output.SBML set to true
% Results will be three TIFF files, one each for cell boundary, 
% nuclear boundary, and lysosomes, in folder "synthesizedImages/cell1"
% Additionally, in the folder "synthesizedImages/" will be a
% SBML-Spatial(v0.82a) formatted .xml file containing constructed solid
% geometry(CSG) primitives for lysosomes and parametric objects for the
% cell and nuclear shapes.
% These files can then be read into VCell using the built in importer or 
% CellBlender using the helper function provided in this distribution.

% Created: Devin Sullivan, September 2013
%
% Copyright (C) 2012 Murphy Lab
% Lane Center for Computational Biology
% School of Computer Science
% Carnegie Mellon University
%
% This program is free software; you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published
% by the Free Software Foundation; either version 2 of the License,
% or (at your option) any later version.
%
% This program is distributed in the hope that it will be useful, but
% WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
% General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with this program; if not, write to the Free Software
% Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
% 02110-1301, USA.
%
% For additional information visit http://murphylab.web.cmu.edu or
% send email to murphy@cmu.edu

curr_path = which('demo3DPrimitives.m');
% curr_path = curr_path(1:end-10);
% cd(curr_path);
%D. Sullivan 7/24/13 changed to fileparts to allow more flexibility
[folder,name,ext] = fileparts(curr_path);
cd(folder);

clear param

try
 state = rng(3);
catch
 state = RandStream.create('mt19937ar','seed',3);
 RandStream.setDefaultStream(state);
end

outputDirectory = pwd;
param = [];
param.targetDirectory = outputDirectory;
param.prefix = 'synthesizedImages';
param.numberOfSynthesizedImages = 1;
param.compression = 'lzw';
param.microscope = 'none';
param.sampling.method = 'disc';
param.verbose = true;
param.debug = false;
param.output.blenderfile = true;
param.output.blender.downsample = 5; 
param.output.tifimages = true;
param.output.SBML = true;

slml2img( {'../../../models/3D/lamp2.mat'}, param );
