my $error = "";
if ($::single_process_only > 0) {
- my @processes = '/bin/ps -A';
+ my @processes = `/bin/ps -A`;
my $running = 0;
- foreach $p (@processes) {
- if ($p ~= /ctsimtext/) {
- $running = 1;
- break;
- }
- if ($running > 0) {
- $error .= "Another online simulation is currently running.<p>Click your browser's <i>Refresh</i> button to resubmit your simulation<br>";
- exit(0);
+ foreach my $p (@processes) {
+ if ($p =~ m/ctsimtext/) {
+ $error .= "Another online simulation is currently running.<br>You may wait a moment and then click your browser's <b>Refresh</b> button to resubmit your simulation<br>";
+ last;
}
+ }
}
my $Phantom_Name = FilterMetaChars($in{'Phantom_Name'});
my $pj_png_url = "$::url_datadir/pj-$tmpid.png";
my $sub_png_url = "$::url_datadir/sub-$tmpid.png";
-my $pjrec_ver = "$::bindir/pjrec";
-my $phm2pj_ver = "$::bindir/phm2pj";
-my $phm2if_ver = "$::bindir/phm2if";
-my $diff_ver = "$::bindir/if2";
+my $pjrec_ver = "$::bindir/ctsimtext pjrec";
+my $phm2pj_ver = "$::bindir/ctsimtext phm2pj";
+my $phm2if_ver = "$::bindir/ctsimtext phm2if";
+my $diff_ver = "$::bindir/ctsimtext if2";
$pjrec_ver = "/opt/lam/bin/mpirun N N $::lamrundir/pjrec-lam" if $MPI;
$phm2pj_ver = "/opt/lam/bin/mpirun N N $::lamrundir/phm2pj-lam" if $MPI;
}
}
}
+ # Delete image files and projection files
+ unlink($phantom_fname);
+ unlink($ir_fname);
+ unlink($pj_fname);
+ unlink($pj_if_fname);
+ unlink($sub_fname);
$cmdout = "$gp_cmd\n $gp_out $pj_cmd\n $pj_out $pj_if_cmd\n $pj_if_out $pjrec_cmd\n $pjrec_out $diff_cmd\n $diff_out $png1_cmd\n $png_gp_out $png2_cmd\n $png_pjrec_out $png3_cmd\n $png_pj_out $png4_cmd\n $png_sub_out";
if (open(LOGFILE,">> $logfile")) {
}
$out .= "<HR>\n";
-$out .= "Return to <A HREF=\"/ctsim/index.html\">CT Simulation Designer</a>.<br>\n";
-$out .= "Return to <A HREF=\"www.med-info.com\">Med-Info</a>.\n";
+$out .= "Return to <A HREF=\"http://www.ctsim.org\">CTSim</a>.<br>\n";
$out .= "</BODY> </HTML>";
$out .= "\n";
** This is part of the CTSim program
** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: interpolator.h,v 1.4 2001/03/24 05:28:28 kevin Exp $
+** $Id: interpolator.h,v 1.5 2001/03/30 22:09:09 kevin Exp $
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License (version 2) as
T interpolate (double dXPos, double dYPos)
{
- int iFloorX = floor (dXPos);
- int iFloorY = floor (dYPos);
+ int iFloorX = static_cast<int>(floor(dXPos));
+ int iFloorY = static_cast<int>(floor (dYPos));
double dXFrac = dXPos - iFloorX;
double dYFrac = dYPos - iFloorY;
** This is part of the CTSim program
** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: imagefile.cpp,v 1.43 2001/03/28 16:53:43 kevin Exp $
+** $Id: imagefile.cpp,v 1.44 2001/03/30 22:09:09 kevin Exp $
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License (version 2) as
png_init_io(png_ptr, fp);
- png_set_IHDR (png_ptr, info_ptr, nx * nxcell, ny * nycell, bitdepth, PNG_COLOR_TYPE_GRAY, PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_DEFAULT);
+ png_set_IHDR (png_ptr, info_ptr, nx * nxcell, ny * nycell, bitdepth, PNG_COLOR_TYPE_GRAY, PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT);
png_write_info(png_ptr, info_ptr);
for (int irow = ny - 1; irow >= 0; irow--) {