/// <summary> /// Defines VolumetricEllipsoidalSourceBase class /// </summary> /// <param name="aParameter">"a" parameter of the ellipsoid source</param> /// <param name="bParameter">"b" parameter of the ellipsoid source</param> /// <param name="cParameter">"c" parameter of the ellipsoid source</param> /// <param name="sourceProfile">Source Profile {Flat / Gaussian}</param> /// <param name="newDirectionOfPrincipalSourceAxis">New source axis direction</param> /// <param name="translationFromOrigin">New source location</param> /// <param name="initialTissueRegionIndex">Initial tissue region index</param> protected VolumetricEllipsoidalSourceBase( double aParameter, double bParameter, double cParameter, ISourceProfile sourceProfile, Direction newDirectionOfPrincipalSourceAxis, Position translationFromOrigin, int initialTissueRegionIndex) { _rotationAndTranslationFlags = new SourceFlags( newDirectionOfPrincipalSourceAxis != SourceDefaults.DefaultDirectionOfPrincipalSourceAxis.Clone(), translationFromOrigin != SourceDefaults.DefaultPosition.Clone(), false); _aParameter = aParameter; _bParameter = bParameter; _cParameter = cParameter; _sourceProfile = sourceProfile; _newDirectionOfPrincipalSourceAxis = newDirectionOfPrincipalSourceAxis.Clone(); _translationFromOrigin = translationFromOrigin.Clone(); _initialTissueRegionIndex = initialTissueRegionIndex; }
/// <summary> /// Defines RectangularSourceBase class /// </summary> /// <param name="rectLengthX">The length of the Rectangular Source</param> /// <param name="rectWidthY">The width of the Rectangular Source</param> /// <param name="sourceProfile">Source Profile {Flat / Gaussian}</param> /// <param name="newDirectionOfPrincipalSourceAxis">New source axis direction</param> /// <param name="translationFromOrigin">New source location</param> /// <param name="beamRotationFromInwardNormal">Polar Azimuthal Rotational Angle of inward Normal</param> /// <param name="initialTissueRegionIndex">Initial tissue region index</param> protected RectangularSourceBase( double rectLengthX, double rectWidthY, ISourceProfile sourceProfile, Direction newDirectionOfPrincipalSourceAxis, Position translationFromOrigin, PolarAzimuthalAngles beamRotationFromInwardNormal, int initialTissueRegionIndex) { _rotationAndTranslationFlags = new SourceFlags( newDirectionOfPrincipalSourceAxis != SourceDefaults.DefaultDirectionOfPrincipalSourceAxis.Clone(), translationFromOrigin != SourceDefaults.DefaultPosition.Clone(), beamRotationFromInwardNormal != SourceDefaults.DefaultBeamRoationFromInwardNormal.Clone()); _rectLengthX = rectLengthX; _rectWidthY = rectWidthY; _sourceProfile = sourceProfile; _newDirectionOfPrincipalSourceAxis = newDirectionOfPrincipalSourceAxis.Clone(); _translationFromOrigin = translationFromOrigin.Clone(); _beamRotationFromInwardNormal = beamRotationFromInwardNormal.Clone(); _initialTissueRegionIndex = initialTissueRegionIndex; }
/// <summary> /// Initializes a new instance of CustomRectangularSourceInput class /// </summary> /// <param name="rectLengthX">The length of the Rectangular Source</param> /// <param name="rectWidthY">The width of the Rectangular Source</param> /// <param name="sourceProfile">Source Profile {Flat / Gaussian}</param> /// <param name="polarAngleEmissionRange">Polar angle range</param> /// <param name="azimuthalAngleEmissionRange">Azimuthal angle range</param> /// <param name="newDirectionOfPrincipalSourceAxis">New source axis direction</param> /// <param name="translationFromOrigin">New source location</param> /// <param name="beamRotationFromInwardNormal">beam rotation angle</param> /// <param name="initialTissueRegionIndex">Initial tissue region index</param> public CustomRectangularSourceInput( double rectLengthX, double rectWidthY, ISourceProfile sourceProfile, DoubleRange polarAngleEmissionRange, DoubleRange azimuthalAngleEmissionRange, Direction newDirectionOfPrincipalSourceAxis, Position translationFromOrigin, PolarAzimuthalAngles beamRotationFromInwardNormal, int initialTissueRegionIndex) { SourceType = "CustomRectangular"; RectLengthX = rectLengthX; RectWidthY = rectWidthY; SourceProfile = sourceProfile; PolarAngleEmissionRange = polarAngleEmissionRange; AzimuthalAngleEmissionRange = azimuthalAngleEmissionRange; NewDirectionOfPrincipalSourceAxis = newDirectionOfPrincipalSourceAxis; TranslationFromOrigin = translationFromOrigin; BeamRotationFromInwardNormal = beamRotationFromInwardNormal; InitialTissueRegionIndex = initialTissueRegionIndex; }
/// <summary> /// Defines CircularSourceBase class /// </summary> /// <param name="innerRadius">The inner radius of the circular source</param> /// <param name="outerRadius">The outer radius of the circular source</param> /// <param name="sourceProfile">Source Profile {Flat / Gaussian}</param> /// <param name="newDirectionOfPrincipalSourceAxis">New source axis direction</param> /// <param name="translationFromOrigin">New source location</param> /// <param name="beamRotationFromInwardNormal">Polar Azimuthal Rotational Angle of inward Normal</param> /// <param name="initialTissueRegionIndex">Initial tissue region index</param> protected CircularSourceBase( double outerRadius, double innerRadius, ISourceProfile sourceProfile, Direction newDirectionOfPrincipalSourceAxis, Position translationFromOrigin, PolarAzimuthalAngles beamRotationFromInwardNormal, int initialTissueRegionIndex) { _rotationAndTranslationFlags = new SourceFlags( newDirectionOfPrincipalSourceAxis != SourceDefaults.DefaultDirectionOfPrincipalSourceAxis.Clone(), translationFromOrigin != SourceDefaults.DefaultPosition.Clone(), beamRotationFromInwardNormal != SourceDefaults.DefaultBeamRoationFromInwardNormal.Clone()); _outerRadius = outerRadius; _innerRadius = innerRadius; _sourceProfile = sourceProfile; _newDirectionOfPrincipalSourceAxis = newDirectionOfPrincipalSourceAxis.Clone(); _translationFromOrigin = translationFromOrigin.Clone(); _beamRotationFromInwardNormal = beamRotationFromInwardNormal.Clone(); _initialTissueRegionIndex = initialTissueRegionIndex; }
/// <summary> /// Initializes a new instance of CustomCircularSourceInput class /// </summary> /// <param name="outerRadius">The outer radius of the circular source</param> /// <param name="innerRadius">The inner radius of the circular source</param> /// <param name="sourceProfile">Source Profile {Flat / Gaussian}</param> /// <param name="polarAngleEmissionRange">Polar angle range</param> /// <param name="azimuthalAngleEmissionRange">Azimuthal angle range</param> /// <param name="newDirectionOfPrincipalSourceAxis">New source axis direction</param> /// <param name="translationFromOrigin">New source location</param> /// <param name="beamRotationFromInwardNormal">Beam rotation from inward normal</param> /// <param name="initialTissueRegionIndex">Initial tissue region index</param> public CustomCircularSourceInput( double outerRadius, double innerRadius, ISourceProfile sourceProfile, DoubleRange polarAngleEmissionRange, DoubleRange azimuthalAngleEmissionRange, Direction newDirectionOfPrincipalSourceAxis, Position translationFromOrigin, PolarAzimuthalAngles beamRotationFromInwardNormal, int initialTissueRegionIndex) { SourceType = "CustomCircular"; OuterRadius = outerRadius; InnerRadius = innerRadius; SourceProfile = sourceProfile; PolarAngleEmissionRange = polarAngleEmissionRange; AzimuthalAngleEmissionRange = azimuthalAngleEmissionRange; NewDirectionOfPrincipalSourceAxis = newDirectionOfPrincipalSourceAxis; TranslationFromOrigin = translationFromOrigin; BeamRotationFromInwardNormal = beamRotationFromInwardNormal; InitialTissueRegionIndex = initialTissueRegionIndex; }
/// <summary> /// Initializes a new instance of CustomVolumetricCuboidalSourceInput class /// </summary> /// <param name="cubeLengthX">Length of the cuboid</param> /// <param name="cubeWidthY">Width of the cuboid</param> /// <param name="cubeHeightZ">Height of the cuboid</param> /// <param name="sourceProfile">Source Profile {Flat / Gaussian}</param> /// <param name="polarAngleEmissionRange">Polar angle range</param> /// <param name="azimuthalAngleEmissionRange">Azimuthal angle range</param> /// <param name="newDirectionOfPrincipalSourceAxis">New source axis direction</param> /// <param name="translationFromOrigin">New source location</param> /// <param name="initialTissueRegionIndex">Initial tissue region index</param> public CustomVolumetricCuboidalSourceInput( double cubeLengthX, double cubeWidthY, double cubeHeightZ, ISourceProfile sourceProfile, DoubleRange polarAngleEmissionRange, DoubleRange azimuthalAngleEmissionRange, Direction newDirectionOfPrincipalSourceAxis, Position translationFromOrigin, int initialTissueRegionIndex) { SourceType = "CustomVolumetricCubiodal"; CubeLengthX = cubeLengthX; CubeWidthY = cubeWidthY; CubeHeightZ = cubeHeightZ; SourceProfile = sourceProfile; PolarAngleEmissionRange = polarAngleEmissionRange; AzimuthalAngleEmissionRange = azimuthalAngleEmissionRange; NewDirectionOfPrincipalSourceAxis = newDirectionOfPrincipalSourceAxis; TranslationFromOrigin = translationFromOrigin; InitialTissueRegionIndex = initialTissueRegionIndex; }
/// <summary> /// Defines VolumetricCuboidalSourceBase class /// </summary> /// <param name="cubeLengthX">The length of the cuboid</param> /// <param name="cubeWidthY">The width of the cuboid</param> /// <param name="cubeHeightZ">The height of the cuboid</param> /// <param name="sourceProfile">Source Profile {Flat / Gaussian}</param> /// <param name="newDirectionOfPrincipalSourceAxis">New source axis direction</param> /// <param name="translationFromOrigin">New source location</param> /// <param name="initialTissueRegionIndex">Initial tissue region index</param> protected VolumetricCuboidalSourceBase( double cubeLengthX, double cubeWidthY, double cubeHeightZ, ISourceProfile sourceProfile, Direction newDirectionOfPrincipalSourceAxis, Position translationFromOrigin, int initialTissueRegionIndex) { _rotationAndTranslationFlags = new SourceFlags( newDirectionOfPrincipalSourceAxis != SourceDefaults.DefaultDirectionOfPrincipalSourceAxis.Clone(), translationFromOrigin != SourceDefaults.DefaultPosition.Clone(), false); _cubeLengthX = cubeLengthX; _cubeWidthY = cubeWidthY; _cubeHeightZ = cubeHeightZ; _sourceProfile = sourceProfile; _newDirectionOfPrincipalSourceAxis = newDirectionOfPrincipalSourceAxis.Clone(); _translationFromOrigin = translationFromOrigin.Clone(); _initialTissueRegionIndex = initialTissueRegionIndex; }
/// <summary> /// Initializes a new instance of CustomEllipticalSourceInput class /// </summary> /// <param name="aParameter">"a" parameter of the ellipse source</param> /// <param name="bParameter">"b" parameter of the ellipse source</param> /// <param name="sourceProfile">Source Profile {Flat / Gaussian}</param> /// <param name="polarAngleEmissionRange">Polar angle range</param> /// <param name="azimuthalAngleEmissionRange">Azimuthal angle range</param> /// <param name="newDirectionOfPrincipalSourceAxis">New source axis direction</param> /// <param name="translationFromOrigin">New source location</param> /// <param name="beamRotationFromInwardNormal">beam rotation angle</param> /// <param name="initialTissueRegionIndex">Initial tissue region index</param> public CustomEllipticalSourceInput( double aParameter, double bParameter, ISourceProfile sourceProfile, DoubleRange polarAngleEmissionRange, DoubleRange azimuthalAngleEmissionRange, Direction newDirectionOfPrincipalSourceAxis, Position translationFromOrigin, PolarAzimuthalAngles beamRotationFromInwardNormal, int initialTissueRegionIndex) { SourceType = "CustomElliptical"; AParameter = aParameter; BParameter = bParameter; SourceProfile = sourceProfile; PolarAngleEmissionRange = polarAngleEmissionRange; AzimuthalAngleEmissionRange = azimuthalAngleEmissionRange; NewDirectionOfPrincipalSourceAxis = newDirectionOfPrincipalSourceAxis; TranslationFromOrigin = translationFromOrigin; BeamRotationFromInwardNormal = beamRotationFromInwardNormal; InitialTissueRegionIndex = initialTissueRegionIndex; }
public static void Set(ISourceProfile target) { CheckTarget(target); Lookup[target.Guid] = target; Persist.AddOrUpdate(target); }
public void Remove(ISourceProfile target) { Remove(target.Guid); }
public ImportTask(ISourceProfile profile) { _profile = profile; }
public static IImportTask CreateImportTask(ISourceProfile target) { return(new ImportTask(target)); }