_viewMaskImagePanel = NULL;
_viewThresholdImage = NULL;
_viewThresholdImagePanel = NULL;
-
+ _viewColorLayerImage = NULL;
+ _viewColorLayerImagePanel = NULL;
}
wxContourMainFrame :: wxContourMainFrame(wxWindow* parent, wxWindowID id,const wxString& title,const wxPoint& pos,const wxSize& size,std::vector<vtkImageData*> images, long style,std::string datadir)
_viewMaskImagePanel = NULL;
_viewThresholdImage = NULL;
_viewThresholdImagePanel = NULL;
+ _viewColorLayerImage = NULL;
+ _viewColorLayerImagePanel = NULL;
// set up default notebook style
m_notebook_style =wxAUI_NB_TAB_SPLIT | wxAUI_NB_TAB_EXTERNAL_MOVE | wxNO_BORDER;
}
- wxContourMainFrame* wxContourMainFrame :: getInstance(wxWindow* parent, wxWindowID id,const wxString& title,const wxPoint& pos,const wxSize& size,std::vector<vtkImageData*> images, long style,std::string datadir ){
+ wxContourMainFrame* wxContourMainFrame :: getInstance(wxWindow* parent, wxWindowID id,const wxString& title,const wxPoint& pos,const wxSize& size,std::vector<vtkImageData*> images, long style,std::string datadir )
+ {
if(instance == NULL){
instance = new wxContourMainFrame(parent, id, title, pos, size, images, style,datadir);
}
}
// RaC 09-09 --------------------------------------
+// RaC 10-09 --------------------------------------
+void wxContourMainFrame::onCreateContourPolygon( ){
+ //JCP 20-10-08 Undo redo implementation
+ saveState();
+ //JCP 20-10-08 Undo redo implementation
+ createContour( 10 );
+}
+// RaC 10-09 --------------------------------------
+
//------------------------------------------------------------------------------------------------------------
void wxContourMainFrame :: onCreateContourBullEye(wxPanel* panel )
_viewThresholdImage->onThreshold();
}
}
-
+
+ // Refresh Threshold image
+ if(_viewColorLayerImage!=NULL){
+ _viewColorLayerImage->SetZ(actualSlice);
+ if (_viewColorLayerImagePanel->IsVisible()==true){
+ _viewColorLayerImage->onThreshold();
+ }
+ }
+
updateInstantOutlines();
updateInstantImageData();
updateInstantAxes();
}
void wxContourMainFrame::onLoad()
-{
- char tmp[255];
- char tmpD[255];
+{
std::string fileNameContourROI = GetFileLocation();
-
//CMRU 03-09-09-----------------------------------------------------------------------------------------------
if(GetFileLocation().empty())
{
}
}
+ onLoadContours(fileNameContourROI);
+}
+
+void wxContourMainFrame::onLoadContours(std::string fileNameContourROI){
+ char tmp[255];
+ char tmpD[255];
+
FILE *pFile =fopen(fileNameContourROI.c_str(),"r+");
}
_theViewPanel->getSceneManager()->removeSceneContours();
changeInstant();
+
+}
+
+void wxContourMainFrame::onImport(){
+ std::string filename, filenamecontours;
+ wxFileDialog dialog(NULL, _T("Choose a XML Osirix File"), _T(""), _T(""), _T("*.xml"), wxOPEN );
+
+ if (dialog.ShowModal() == wxID_OK)
+ {
+ filename = dialog.GetPath().mb_str();
+ filenamecontours = kernelManager->parseOsirixFile(filename);
+
+ if(filenamecontours.compare("") != 0){
+ onLoadContours(filenamecontours);
+ }
+
+ }
+}
+void wxContourMainFrame::onTest(){
+ std::string filename, filenamecontours;
+ wxFileDialog dialog(NULL, _T("Choose a File"), _T(""), _T(""), _T("*.*"), wxOPEN );
+
+ if (dialog.ShowModal() == wxID_OK)
+ {
+ filename = dialog.GetPath().mb_str();
+ std::cout << "This is the filename: " << filename << std::endl;
+ }
}
+
//AD: 29-05-09
void wxContourMainFrame::onSave(){
//CMRU 03-09-09-----------------------------------------------------------------------------------------------
}
+void wxContourMainFrame::SetScalarRange(int grayRangeMin, int grayRangeMax)
+{
+ _contourextractdata->SetScalarRange(grayRangeMin,grayRangeMax);
+}
+
void wxContourMainFrame::onInformationContourLabels(int typeContourGroup,int selection,int minimumZ,int maximumZ,int grayRangeMin, int grayRangeMax)
{
}
_contourextractdata->SetLstManualContourModel( lstManConModTmp );
+ _contourextractdata->SetScalarRange(grayRangeMin,grayRangeMax);
pLstValue.clear();
pLstValuePosX.clear();
pLstValuePosY.clear();
pLstValuePosZ.clear();
- _contourextractdata->GetValuesInsideCrown( &pLstValue,
+
+
+ int numberOfPixels;
+ _contourextractdata->GetValuesInsideCrown( &numberOfPixels,
+ &pLstValue,
&pLstValuePosX,
&pLstValuePosY,
&pLstValuePosZ);
+ resultSize=numberOfPixels;
// Statistics of each slice.
_contourextractdata->Statistics( &pLstValue,
grayRangeMin,
&resultMax,
&resultAverage,
&resultStandardeviation);
-
+
if (interfMainPanel::getInstance()->getNumberColsInformationPanel()<_numberOfVariablesStatistics*(iContourGroup+1) )
{
interfMainPanel::getInstance()->appendColsInformationPanel(_numberOfVariablesStatistics);
tmpIntA=_numberOfVariablesStatistics*iContourGroup ;
- tempString.Printf(_T("%d"),resultSize);
+ tempString.Printf(_T("%d"),numberOfPixels);
+
interfMainPanel::getInstance()->setCellValueInfoPanel(z, tmpIntA, tempString);
tempString.Printf(_T("%d"),resultGrayRangeCount);
pLstValuePosX.clear();
pLstValuePosY.clear();
pLstValuePosZ.clear();
- _contourextractdata->GetValuesInsideCrown( &pLstValue,
+ int numberOfPixels;
+ _contourextractdata->GetValuesInsideCrown( &numberOfPixels,
+ &pLstValue,
&pLstValuePosX,
&pLstValuePosY,
&pLstValuePosZ);
// Image Value
vtkMetaImageWriter *writerValueImage = vtkMetaImageWriter::New( );
writerValueImage->SetInput( value );
+ writerValueImage->SetInput( value );
writerValueImage->SetFileName( (const char *)filename.mb_str() );
writerValueImage->SetFileDimensionality( 3 );
+ writerValueImage->SetCompression(false);
writerValueImage->Write( );
// Image Mask
writerMaskImage->SetInput( mask );
writerMaskImage->SetFileName( (const char *)filename.mb_str() );
writerMaskImage->SetFileDimensionality( 3 );
+ writerValueImage->SetCompression(false);
writerMaskImage->Write( );
interfMainPanel::getInstance()->setStringInfoPanel( _T("") );
if (_viewMaskImagePanel==NULL)
{
_contourextractdata = new ContourExtractData(true);
- _contourextractdata->SetImage( _theViewPanel->getImageData() );
-
+ _contourextractdata->SetImage( _theViewPanel->getImageData() );
// double range[2];
// _theViewPanel->getImageData()->GetScalarRange(range);
//int min = (int)floor (range[0]);
//int max = (int)ceil (range[1]);
int min = 254;
int max = 256;
-
_viewMaskImagePanel = new ThresholdImageViewPanel( parent, -1, -1 , 0);
_viewMaskImage = new ThresholdImageView();
_viewMaskImage->SetImage(_contourextractdata->GetVtkImageMaskResult() );
_viewMaskImage->SetBaseColor( 0,0,1 );
_viewMaskImagePanel->SetThresholdImageView( _viewMaskImage );
_viewMaskImage->SetwxVtkBaseView( _theViewPanel->getWxVtkBaseView() );
-
}
return _viewMaskImagePanel;
}
+
+wxPanel *wxContourMainFrame::getColorLayerImageViewPanel(wxWindow *parent)
+{
+ if (_viewColorLayerImagePanel==NULL)
+ {
+ double range[2];
+ _theViewPanel->getImageData()->GetScalarRange(range);
+ int min = (int)floor (range[0]);
+ int max = (int)ceil (range[1]);
+ _viewColorLayerImagePanel = new ColorLayerImageViewPanel( parent, min, max , 1);
+ _viewColorLayerImage = new ColorLayerImageView();
+// _viewColorLayerImage->SetImage( _theViewPanel->getImageData() );
+ _viewColorLayerImage->SetImage( NULL );
+ _viewColorLayerImagePanel->SetColorLayerImageView( _viewColorLayerImage );
+ _viewColorLayerImage->SetwxVtkBaseView( _theViewPanel->getWxVtkBaseView() );
+ }
+ return _viewColorLayerImagePanel;
+}
+
+
wxPanel *wxContourMainFrame::getThresholdImageViewPanel(wxWindow *parent)
{
if (_viewThresholdImagePanel==NULL)
_fileLocation = newFileLocation;
std::cout<<"GETFILELOCATION:"<<_fileLocation<<std::endl;
}
-//------------------------------------------------------------------------------------------------------------
\ No newline at end of file
+//------------------------------------------------------------------------------------------------------------