void SegmentListVIIRSM::ShowImageSerial(QList<bool> bandlist, QList<int> colorlist, QList<bool> invertlist) { progressresultready = 0; QApplication::setOverrideCursor( Qt::WaitCursor ); for (int i=0; i < 3; i++) { for (int j=0; j < 1024; j++) { imageptrs->segment_stats_ch[i][j] = 0; imageptrs->lut_ch[i][j] = 0; } } for(int k = 0; k < 3; k++) { imageptrs->stat_max_ch[k] = 0; imageptrs->stat_min_ch[k] = 9999999; this->stat_max_ch[k] = 0; this->stat_min_ch[k] = 9999999; } QList<Segment*>::iterator segsel = segsselected.begin(); while ( segsel != segsselected.end() ) { SegmentVIIRSM *segm = (SegmentVIIRSM *)(*segsel); segm->setBandandColor(bandlist, colorlist, invertlist); segm->initializeMemory(); ++segsel; } segsel = segsselected.begin(); while ( segsel != segsselected.end() ) { SegmentVIIRSM *segm = (SegmentVIIRSM *)(*segsel); segm->ReadDatasetsInMemory(); ++segsel; } bool composecolor; long cnt_active_pixels = 0; segsel = segsselected.begin(); while ( segsel != segsselected.end() ) { SegmentVIIRSM *segm = (SegmentVIIRSM *)(*segsel); composecolor = segm->composeColorImage(); for(int i = 0; i < (composecolor ? 3 : 1); i++) { if( segm->stat_max_ch[i] > this->stat_max_ch[i]) this->stat_max_ch[i] = segm->stat_max_ch[i]; if( segm->stat_min_ch[i] < this->stat_min_ch[i]) this->stat_min_ch[i] = segm->stat_min_ch[i]; } cnt_active_pixels += segm->active_pixels[0]; ++segsel; } for(int i = 0; i < (composecolor ? 3 : 1); i++) { imageptrs->stat_max_ch[i] = this->stat_max_ch[i]; imageptrs->stat_min_ch[i] = this->stat_min_ch[i]; } imageptrs->active_pixels = cnt_active_pixels; CalculateLUT(); segsel = segsselected.begin(); while ( segsel != segsselected.end() ) { SegmentVIIRSM *segm = (SegmentVIIRSM *)(*segsel); segm->ComposeSegmentImage(); ++segsel; } qDebug() << " SegmentListVIIRS::ShowImageSerialM Finished !!"; QApplication::restoreOverrideCursor(); emit segmentlistfinished(true); emit progressCounter(100); }