Ejemplo n.º 1
0
        private void listBoxSeries_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (listBoxSeries.SelectedItems.Count == 0)
            {
                if (_mode == Modes.AUTOMATIC)
                {
                    textBoxKinematicFilename.Text = "";
                    textBoxImageFile.Text         = "";
                }
                return;
            }

            if (_mode == Modes.MANUAL)
            {
                return; //all automatic below
            }
            _seriesKey    = (string)listBoxSeries.SelectedItem;
            _seriesNumber = Int32.Parse(_seriesKey.Substring(0, 2));
            _side         = (_seriesKey.Substring(2, 1).ToUpper().Equals("L")) ? WristFilesystem.Sides.LEFT : WristFilesystem.Sides.RIGHT;

            //update kinematics file
            textBoxKinematicFilename.Text = generateKinematicsFileName(textBoxSubjectDirectory.Text, _seriesKey, _kinematicFileType);
            //set crop values:
            if (_cvParser != null && _cvParser.hasPosition(_seriesKey))
            {
                setCropValueFields(_cvParser.getCropData(_seriesKey));
            }
            else
            {
                clearCropValueFields();
            }

            //update image file
            textBoxImageFile.Text = Path.Combine(Path.Combine(textBoxSubjectDirectory.Text, "CTScans"), String.Format("{0}_{1:00}", _subject, _seriesNumber));
            if (!File.Exists(textBoxImageFile.Text) && !Directory.Exists(textBoxImageFile.Text))
            {
                textBoxImageFile.Text = textBoxImageFile.Text + (_side == WristFilesystem.Sides.LEFT ? "L" : "R");
            }

            //try and find stackFile Directory
            string neutralSeriesDir = String.Format("S15{0}", _seriesKey.Substring(2, 1));

            _stackSeriesKey = neutralSeriesDir.Substring(1, 3);
            string stackPath1 = Path.Combine(textBoxSubjectDirectory.Text, neutralSeriesDir);
            string stackPath2 = Path.Combine(stackPath1, "Stack.files");

            if (canLocateRadiusStackFileInDirectory(stackPath2)) //try Stack.files directory first
            {
                textBoxStackFileDirectory.Text = stackPath2;
            }
            else if (canLocateRadiusStackFileInDirectory(stackPath1))
            {
                textBoxStackFileDirectory.Text = stackPath1;
            }
            else //error, can't locate, lets just default to Stack.files path
            {
                textBoxStackFileDirectory.Text = stackPath2;
            }
        }
Ejemplo n.º 2
0
        private void ReadInJobFromOption()
        {
            PreliminaryValidation(_options);
            _side      = WristFilesystem.GetSideFromString(_options.SideString);
            _wrist     = new WristFilesystem(WristFilesystem.findRadius(_options.Subject, _side));
            _fullWrist = new FullWrist(_wrist);

            _refBoneIndex  = _options.GetReferenceBoneIndex();
            _testBoneIndex = _options.GetTestBoneIndex();
            //int fixedBoneIndex = options.GetFixedBoneIndex();
            _positionList = GetPositionIndexes(_wrist, _options.GetPositionNames());
            _cDistances   = _options.GetCoutourDistances();
            _cAreas       = _options.GetTargetContourAreas();
        }
Ejemplo n.º 3
0
        private bool canLocateStackfileDirectory(WristFilesystem.Sides side)
        {
            string s = (side == WristFilesystem.Sides.LEFT) ? "L" : "R";
            string neutralSeriesDir = "S15" + s;
            string stackPath1       = Path.Combine(textBoxSubjectDirectory.Text, neutralSeriesDir);
            string stackPath2       = Path.Combine(stackPath1, "Stack.files");

            if (canLocateRadiusStackFileInDirectory(stackPath2, s)) //try Stack.files directory first
            {
                return(true);
            }
            else if (canLocateRadiusStackFileInDirectory(stackPath1, s))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 4
0
 public CropValues getCropData(int series, WristFilesystem.Sides side)
 {
     return(getCropData(generatePositionKey(series, side)));
 }
Ejemplo n.º 5
0
 public bool hasPosition(int series, WristFilesystem.Sides side)
 {
     return(hasPosition(generatePositionKey(series, side)));
 }
Ejemplo n.º 6
0
 private string generatePositionKey(int series, WristFilesystem.Sides side)
 {
     return(String.Format("{0:00}{1}", series, side == WristFilesystem.Sides.LEFT ? "L" : "R"));
 }