Fixed crashed when unloading Scout and fixed unloading of RTPlan
This commit is contained in:
@ -36,7 +36,7 @@ void
|
|||||||
TopogramImageMetaInformation
|
TopogramImageMetaInformation
|
||||||
::PrintSelf(std::ostream& os, itk::Indent indent) const
|
::PrintSelf(std::ostream& os, itk::Indent indent) const
|
||||||
{
|
{
|
||||||
Superclass::PrintSelf(os, indent);
|
Superclass::PrintSelf(os, indent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -53,21 +53,21 @@ SetPatientOrientation(tPatOrientation m_orient)
|
|||||||
this->m_PatientOrientation = m_orient;
|
this->m_PatientOrientation = m_orient;
|
||||||
|
|
||||||
for(int iIdx = 0 ; iIdx < 3; iIdx++){
|
for(int iIdx = 0 ; iIdx < 3; iIdx++){
|
||||||
for(int jIdx = 0 ; jIdx < 3; jIdx++){
|
for(int jIdx = 0 ; jIdx < 3; jIdx++){
|
||||||
|
|
||||||
switch (this->m_PatientOrientation) {
|
switch (this->m_PatientOrientation) {
|
||||||
case tPatOrientation::HFS:
|
case tPatOrientation::HFS:
|
||||||
m_LPS2IECDirections.GetVnlMatrix()[iIdx][jIdx] = HFS2IEC[jIdx+iIdx*3];
|
m_LPS2IECDirections.GetVnlMatrix()[iIdx][jIdx] = HFS2IEC[jIdx+iIdx*3];
|
||||||
break;
|
break;
|
||||||
case tPatOrientation ::FFS:
|
case tPatOrientation ::FFS:
|
||||||
m_LPS2IECDirections.GetVnlMatrix()[iIdx][jIdx] = FFS2IEC[jIdx+iIdx*3];
|
m_LPS2IECDirections.GetVnlMatrix()[iIdx][jIdx] = FFS2IEC[jIdx+iIdx*3];
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
m_LPS2IECDirections.SetIdentity();
|
m_LPS2IECDirections.SetIdentity();
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -100,7 +100,7 @@ void
|
|||||||
DRTImageMetaInformation
|
DRTImageMetaInformation
|
||||||
::PrintSelf(std::ostream& os, itk::Indent indent) const
|
::PrintSelf(std::ostream& os, itk::Indent indent) const
|
||||||
{
|
{
|
||||||
Superclass::PrintSelf(os, indent);
|
Superclass::PrintSelf(os, indent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -182,24 +182,20 @@ void DRTImageMetaInformation::SetSizeWithBounds(
|
|||||||
|
|
||||||
dPixMaxOverlap =dNPixMin1;
|
dPixMaxOverlap =dNPixMin1;
|
||||||
if(dPixMaxOverlap > dNPixMax1){
|
if(dPixMaxOverlap > dNPixMax1){
|
||||||
dPixMaxOverlap = dNPixMax1;
|
dPixMaxOverlap = dNPixMax1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(floor(dPixMaxOverlap*2) > MaxSize[1]) {
|
if(floor(dPixMaxOverlap*2) > MaxSize[1]) {
|
||||||
m_Size[1] = MaxSize[1];
|
m_Size[1] = MaxSize[1];
|
||||||
} else {
|
} else {
|
||||||
m_Size[1] = floor(dPixMaxOverlap*2);
|
m_Size[1] = floor(dPixMaxOverlap*2);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_Size[2] = 1;
|
m_Size[2] = 1;
|
||||||
|
|
||||||
m_Spacing = Spacing;
|
m_Spacing = Spacing;
|
||||||
|
|
||||||
|
return;
|
||||||
|
|
||||||
return;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -263,9 +259,9 @@ CTVolumeImageMetaInformation::GetProjectionOriginLPS(
|
|||||||
PointType ProjectionCenter)
|
PointType ProjectionCenter)
|
||||||
{
|
{
|
||||||
|
|
||||||
// PointType Origin;
|
// PointType Origin;
|
||||||
// Origin = this->m_OriginLPS;
|
// Origin = this->m_OriginLPS;
|
||||||
// Origin = Origin - this->m_ImportOffset;
|
// Origin = Origin - this->m_ImportOffset;
|
||||||
|
|
||||||
DirectionType IECtoLPS_Directions;
|
DirectionType IECtoLPS_Directions;
|
||||||
IECtoLPS_Directions = this->m_LPS2IECDirections.GetTranspose();
|
IECtoLPS_Directions = this->m_LPS2IECDirections.GetTranspose();
|
||||||
@ -279,8 +275,8 @@ CTVolumeImageMetaInformation::GetProjectionOriginLPS(
|
|||||||
* middle of the volume */
|
* middle of the volume */
|
||||||
m_ProjectionOriginLPS[2] = this->GetCOV()[2] - this->m_ImportOffset[2];
|
m_ProjectionOriginLPS[2] = this->GetCOV()[2] - this->m_ImportOffset[2];
|
||||||
|
|
||||||
return
|
return
|
||||||
m_ProjectionOriginLPS;
|
m_ProjectionOriginLPS;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -305,8 +301,8 @@ CTVolumeImageMetaInformation::GetProjectionOriginLPSZero(
|
|||||||
m_ProjectionOriginLPS[2] = this->GetCOV()[2] - this->m_ImportOffset[2];
|
m_ProjectionOriginLPS[2] = this->GetCOV()[2] - this->m_ImportOffset[2];
|
||||||
|
|
||||||
|
|
||||||
return
|
return
|
||||||
m_ProjectionOriginLPS - Origin;
|
m_ProjectionOriginLPS - Origin;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -315,29 +311,29 @@ CTVolumeImageMetaInformation::CalculateRegions(PointType pProjectionOriginLPS)
|
|||||||
{
|
{
|
||||||
|
|
||||||
/* calculate image size in 3D Space by finding the last voxel position */
|
/* calculate image size in 3D Space by finding the last voxel position */
|
||||||
PointType Dest;
|
PointType Dest;
|
||||||
Dest[0]=(m_Size[0]-1) * m_Spacing [0];
|
Dest[0]=(m_Size[0]-1) * m_Spacing [0];
|
||||||
Dest[1]=(m_Size[1]-1) * m_Spacing [1];
|
Dest[1]=(m_Size[1]-1) * m_Spacing [1];
|
||||||
Dest[2]=(m_Size[2]-1) * m_Spacing [2];
|
Dest[2]=(m_Size[2]-1) * m_Spacing [2];
|
||||||
|
|
||||||
PointType LastVoxelPosition =
|
PointType LastVoxelPosition =
|
||||||
(m_ImageDirections * Dest);
|
(m_ImageDirections * Dest);
|
||||||
|
|
||||||
LastVoxelPosition [0] += m_OriginLPS[0];
|
LastVoxelPosition [0] += m_OriginLPS[0];
|
||||||
LastVoxelPosition [1] += m_OriginLPS[1];
|
LastVoxelPosition [1] += m_OriginLPS[1];
|
||||||
LastVoxelPosition [2] += m_OriginLPS[2];
|
LastVoxelPosition [2] += m_OriginLPS[2];
|
||||||
|
|
||||||
std::vector <double> vBounds;
|
std::vector <double> vBounds;
|
||||||
vBounds.clear();
|
vBounds.clear();
|
||||||
vBounds.push_back( pProjectionOriginLPS[0] - LastVoxelPosition [0] );
|
vBounds.push_back( pProjectionOriginLPS[0] - LastVoxelPosition [0] );
|
||||||
vBounds.push_back( pProjectionOriginLPS[1] - LastVoxelPosition [1] );
|
vBounds.push_back( pProjectionOriginLPS[1] - LastVoxelPosition [1] );
|
||||||
vBounds.push_back( pProjectionOriginLPS[2] - LastVoxelPosition [2] );
|
vBounds.push_back( pProjectionOriginLPS[2] - LastVoxelPosition [2] );
|
||||||
vBounds.push_back( pProjectionOriginLPS[0] - m_OriginLPS [0] );
|
vBounds.push_back( pProjectionOriginLPS[0] - m_OriginLPS [0] );
|
||||||
vBounds.push_back( pProjectionOriginLPS[1] - m_OriginLPS [1] );
|
vBounds.push_back( pProjectionOriginLPS[1] - m_OriginLPS [1] );
|
||||||
vBounds.push_back( pProjectionOriginLPS[2] - m_OriginLPS [2] );
|
vBounds.push_back( pProjectionOriginLPS[2] - m_OriginLPS [2] );
|
||||||
|
|
||||||
return
|
return
|
||||||
vBounds;
|
vBounds;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -365,7 +361,7 @@ void
|
|||||||
CTVolumeImageMetaInformation
|
CTVolumeImageMetaInformation
|
||||||
::PrintSelf(std::ostream& os, itk::Indent indent) const
|
::PrintSelf(std::ostream& os, itk::Indent indent) const
|
||||||
{
|
{
|
||||||
Superclass::PrintSelf(os, indent);
|
Superclass::PrintSelf(os, indent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -381,21 +377,21 @@ SetPatientOrientation(tPatOrientation m_orient)
|
|||||||
this->m_PatientOrientation = m_orient;
|
this->m_PatientOrientation = m_orient;
|
||||||
|
|
||||||
for(int iIdx = 0 ; iIdx < 3; iIdx++){
|
for(int iIdx = 0 ; iIdx < 3; iIdx++){
|
||||||
for(int jIdx = 0 ; jIdx < 3; jIdx++){
|
for(int jIdx = 0 ; jIdx < 3; jIdx++){
|
||||||
|
|
||||||
switch (this->m_PatientOrientation) {
|
switch (this->m_PatientOrientation) {
|
||||||
case tPatOrientation::HFS:
|
case tPatOrientation::HFS:
|
||||||
m_LPS2IECDirections.GetVnlMatrix()[iIdx][jIdx] = HFS2IEC[jIdx+iIdx*3];
|
m_LPS2IECDirections.GetVnlMatrix()[iIdx][jIdx] = HFS2IEC[jIdx+iIdx*3];
|
||||||
break;
|
break;
|
||||||
case tPatOrientation ::FFS:
|
case tPatOrientation ::FFS:
|
||||||
m_LPS2IECDirections.GetVnlMatrix()[iIdx][jIdx] = FFS2IEC[jIdx+iIdx*3];
|
m_LPS2IECDirections.GetVnlMatrix()[iIdx][jIdx] = FFS2IEC[jIdx+iIdx*3];
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
m_LPS2IECDirections.SetIdentity();
|
m_LPS2IECDirections.SetIdentity();
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -478,7 +474,7 @@ void
|
|||||||
DRTProjectionGeometryImageMetaInformation
|
DRTProjectionGeometryImageMetaInformation
|
||||||
::PrintSelf(std::ostream& os, itk::Indent indent) const
|
::PrintSelf(std::ostream& os, itk::Indent indent) const
|
||||||
{
|
{
|
||||||
Superclass::PrintSelf(os, indent);
|
Superclass::PrintSelf(os, indent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -505,7 +501,7 @@ void
|
|||||||
RTGeometryMetaInformation
|
RTGeometryMetaInformation
|
||||||
::PrintSelf(std::ostream& os, itk::Indent indent) const
|
::PrintSelf(std::ostream& os, itk::Indent indent) const
|
||||||
{
|
{
|
||||||
Superclass::PrintSelf(os, indent);
|
Superclass::PrintSelf(os, indent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -521,17 +517,17 @@ RTGeometryMetaInformation
|
|||||||
TransformMetaInformation ::
|
TransformMetaInformation ::
|
||||||
TransformMetaInformation (){
|
TransformMetaInformation (){
|
||||||
|
|
||||||
m_Translations.Fill(0.);
|
m_Translations.Fill(0.);
|
||||||
|
|
||||||
m_Rotations.Fill(0.);
|
m_Rotations.Fill(0.);
|
||||||
|
|
||||||
m_UserRotations.Fill(0.);
|
m_UserRotations.Fill(0.);
|
||||||
|
|
||||||
m_UserTranslations.Fill(0.);
|
m_UserTranslations.Fill(0.);
|
||||||
|
|
||||||
m_ReferenceTransform.Fill(0.);
|
m_ReferenceTransform.Fill(0.);
|
||||||
|
|
||||||
m_CurrentTransform.Fill(0.);
|
m_CurrentTransform.Fill(0.);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -539,7 +535,7 @@ void
|
|||||||
TransformMetaInformation
|
TransformMetaInformation
|
||||||
::PrintSelf(std::ostream& os, itk::Indent indent) const
|
::PrintSelf(std::ostream& os, itk::Indent indent) const
|
||||||
{
|
{
|
||||||
Superclass::PrintSelf(os, indent);
|
Superclass::PrintSelf(os, indent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1692,16 +1692,17 @@ void itkImageProcessor::UpdateProjectionGeometryMeta(){
|
|||||||
|
|
||||||
// This is based on the calibrated iso to be sure...
|
// This is based on the calibrated iso to be sure...
|
||||||
std::vector <double> vBounds = m_CTMetaInfo->CalculateRegions(
|
std::vector <double> vBounds = m_CTMetaInfo->CalculateRegions(
|
||||||
NominalIsocenter_wZcorrectionLPS//m_DRTImage1MetaInfo->GetProjectionOriginLPS()
|
NominalIsocenter_wZcorrectionLPS
|
||||||
|
// m_DRTImage1MetaInfo->GetProjectionOriginLPS()
|
||||||
);
|
);
|
||||||
|
|
||||||
// std::cout<<"Bounds1: "
|
std::cout<<"Bounds1: "
|
||||||
// <<vBounds.data()[0]<<" "
|
<<vBounds.data()[0]<<" "
|
||||||
// <<vBounds.data()[1]<<" "
|
<<vBounds.data()[1]<<" "
|
||||||
// <<vBounds.data()[2]<<" "
|
<<vBounds.data()[2]<<" "
|
||||||
// <<vBounds.data()[3]<<" "
|
<<vBounds.data()[3]<<" "
|
||||||
// <<vBounds.data()[4]<<" "
|
<<vBounds.data()[4]<<" "
|
||||||
// <<vBounds.data()[5]<<std::endl;
|
<<vBounds.data()[5]<<std::endl;
|
||||||
|
|
||||||
m_DRTImage1MetaInfo->SetSizeWithBounds(
|
m_DRTImage1MetaInfo->SetSizeWithBounds(
|
||||||
vBounds.data(),
|
vBounds.data(),
|
||||||
@ -1735,16 +1736,16 @@ void itkImageProcessor::UpdateProjectionGeometryMeta(){
|
|||||||
Std_DRT2LPS)
|
Std_DRT2LPS)
|
||||||
);
|
);
|
||||||
|
|
||||||
// std::cout<<"IsocenterOffsetLPS"<< IsocenterOffsetLPS <<std::endl;
|
std::cout<<"IsocenterOffsetLPS"<< IsocenterOffsetLPS <<std::endl;
|
||||||
// std::cout<<"CalibratedIsocenterLPS"<< CalibratedIsocenterLPS <<std::endl;
|
std::cout<<"CalibratedIsocenterLPS"<< CalibratedIsocenterLPS <<std::endl;
|
||||||
// std::cout<<"CalibratedIsocenterZeroLPS"<< CalibratedIsocenterZeroLPS <<std::endl;
|
std::cout<<"CalibratedIsocenterZeroLPS"<< CalibratedIsocenterZeroLPS <<std::endl;
|
||||||
// std::cout<<"m_DRTImage1MetaInfo->GetSize()"<< m_DRTImage1MetaInfo->GetSize() <<std::endl;
|
std::cout<<"m_DRTImage1MetaInfo->GetSize()"<< m_DRTImage1MetaInfo->GetSize() <<std::endl;
|
||||||
// std::cout<<"m_DRTImage1MetaInfo->GetSpacing()"<< m_DRTImage1MetaInfo->GetSpacing() <<std::endl;
|
std::cout<<"m_DRTImage1MetaInfo->GetSpacing()"<< m_DRTImage1MetaInfo->GetSpacing() <<std::endl;
|
||||||
// std::cout<<"m_DRTImage1MetaInfo->GetOrigin()"<< m_DRTImage1MetaInfo->GetOrigin() <<std::endl;
|
std::cout<<"m_DRTImage1MetaInfo->GetOrigin()"<< m_DRTImage1MetaInfo->GetOrigin() <<std::endl;
|
||||||
// std::cout<<"m_DRTImage1MetaInfo->GetCOV()"<< m_DRTImage1MetaInfo->GetCOV() <<std::endl;
|
std::cout<<"m_DRTImage1MetaInfo->GetCOV()"<< m_DRTImage1MetaInfo->GetCOV() <<std::endl;
|
||||||
// std::cout<<"m_DRTImage1MetaInfo->GetOriginLPS()"<< m_DRTImage1MetaInfo->GetOriginLPS() <<std::endl;
|
std::cout<<"m_DRTImage1MetaInfo->GetOriginLPS()"<< m_DRTImage1MetaInfo->GetOriginLPS() <<std::endl;
|
||||||
// std::cout<<"m_DRTImage1MetaInfo->GetProjectionAngleLPS()"<<m_DRTImage1MetaInfo->GetProjectionAngleLPS()<<std::endl;
|
std::cout<<"m_DRTImage1MetaInfo->GetProjectionAngleLPS()"<<m_DRTImage1MetaInfo->GetProjectionAngleLPS()<<std::endl;
|
||||||
// std::cout<<"m_DRTImage1MetaInfo->GetImageDirectionsLPS()"<< m_DRTImage1MetaInfo->GetImageDirectionsLPS() <<std::endl;
|
std::cout<<"m_DRTImage1MetaInfo->GetImageDirectionsLPS()"<< m_DRTImage1MetaInfo->GetImageDirectionsLPS() <<std::endl;
|
||||||
|
|
||||||
// SECOND
|
// SECOND
|
||||||
|
|
||||||
@ -1787,13 +1788,13 @@ void itkImageProcessor::UpdateProjectionGeometryMeta(){
|
|||||||
NominalIsocenter_wZcorrectionLPS//m_DRTImage2MetaInfo->GetProjectionOriginLPS()
|
NominalIsocenter_wZcorrectionLPS//m_DRTImage2MetaInfo->GetProjectionOriginLPS()
|
||||||
);
|
);
|
||||||
|
|
||||||
// std::cout<<"Bounds2: "
|
std::cout<<"Bounds2: "
|
||||||
// <<vBounds.data()[0]<<" "
|
<<vBounds.data()[0]<<" "
|
||||||
// <<vBounds.data()[1]<<" "
|
<<vBounds.data()[1]<<" "
|
||||||
// <<vBounds.data()[2]<<" "
|
<<vBounds.data()[2]<<" "
|
||||||
// <<vBounds.data()[3]<<" "
|
<<vBounds.data()[3]<<" "
|
||||||
// <<vBounds.data()[4]<<" "
|
<<vBounds.data()[4]<<" "
|
||||||
// <<vBounds.data()[5]<<std::endl;
|
<<vBounds.data()[5]<<std::endl;
|
||||||
|
|
||||||
m_DRTImage2MetaInfo->SetSizeWithBounds(
|
m_DRTImage2MetaInfo->SetSizeWithBounds(
|
||||||
vBounds.data(),
|
vBounds.data(),
|
||||||
@ -1823,16 +1824,16 @@ void itkImageProcessor::UpdateProjectionGeometryMeta(){
|
|||||||
Std_DRT2LPS)
|
Std_DRT2LPS)
|
||||||
);
|
);
|
||||||
|
|
||||||
// std::cout<<"IsocenterOffsetLPS"<< IsocenterOffsetLPS <<std::endl;
|
std::cout<<"IsocenterOffsetLPS"<< IsocenterOffsetLPS <<std::endl;
|
||||||
// std::cout<<"CalibratedIsocenterLPS"<< CalibratedIsocenterLPS <<std::endl;
|
std::cout<<"CalibratedIsocenterLPS"<< CalibratedIsocenterLPS <<std::endl;
|
||||||
// std::cout<<"CalibratedIsocenterZeroLPS"<< CalibratedIsocenterZeroLPS <<std::endl;
|
std::cout<<"CalibratedIsocenterZeroLPS"<< CalibratedIsocenterZeroLPS <<std::endl;
|
||||||
// std::cout<<"m_DRTImage2MetaInfo->GetSize()"<< m_DRTImage2MetaInfo->GetSize() <<std::endl;
|
std::cout<<"m_DRTImage2MetaInfo->GetSize()"<< m_DRTImage2MetaInfo->GetSize() <<std::endl;
|
||||||
// std::cout<<"m_DRTImage2MetaInfo->GetSpacing()"<< m_DRTImage2MetaInfo->GetSpacing() <<std::endl;
|
std::cout<<"m_DRTImage2MetaInfo->GetSpacing()"<< m_DRTImage2MetaInfo->GetSpacing() <<std::endl;
|
||||||
// std::cout<<"m_DRTImage2MetaInfo->GetOrigin()"<< m_DRTImage2MetaInfo->GetOrigin() <<std::endl;
|
std::cout<<"m_DRTImage2MetaInfo->GetOrigin()"<< m_DRTImage2MetaInfo->GetOrigin() <<std::endl;
|
||||||
// std::cout<<"m_DRTImage2MetaInfo->GetCOV()"<< m_DRTImage2MetaInfo->GetCOV() <<std::endl;
|
std::cout<<"m_DRTImage2MetaInfo->GetCOV()"<< m_DRTImage2MetaInfo->GetCOV() <<std::endl;
|
||||||
// std::cout<<"m_DRTImage2MetaInfo->GetOriginLPS()"<< m_DRTImage2MetaInfo->GetOriginLPS() <<std::endl;
|
std::cout<<"m_DRTImage2MetaInfo->GetOriginLPS()"<< m_DRTImage2MetaInfo->GetOriginLPS() <<std::endl;
|
||||||
// std::cout<<"m_DRTImage2MetaInfo->GetProjectionAngleLPS()"<<m_DRTImage2MetaInfo->GetProjectionAngleLPS()<<std::endl;
|
std::cout<<"m_DRTImage2MetaInfo->GetProjectionAngleLPS()"<<m_DRTImage2MetaInfo->GetProjectionAngleLPS()<<std::endl;
|
||||||
// std::cout<<"m_DRTImage2MetaInfo->GetImageDirectionsLPS()"<< m_DRTImage2MetaInfo->GetImageDirectionsLPS() <<std::endl;
|
std::cout<<"m_DRTImage2MetaInfo->GetImageDirectionsLPS()"<< m_DRTImage2MetaInfo->GetImageDirectionsLPS() <<std::endl;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user