本文整理汇总了Java中ini.trakem2.display.Display.repaint方法的典型用法代码示例。如果您正苦于以下问题:Java Display.repaint方法的具体用法?Java Display.repaint怎么用?Java Display.repaint使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ini.trakem2.display.Display
的用法示例。
在下文中一共展示了Display.repaint方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: resetNonActive
import ini.trakem2.display.Display; //导入方法依赖的package包/类
/** Reset temporary changes such as from dragging B&C sliders and so on, in the current slice (the current Patch). */
public void resetNonActive() {
Utils.log2("PatchStack: calling reset");
// remake the awt for the patch, flush the previous awt
Loader loader = patch[currentSlice-1].getProject().getLoader();
for (int i=0; i<patch.length; i++) {
if (currentSlice-1 == i || !called[i]) continue;
called[i] = false;
ImagePlus imp = loader.fetchImagePlus(patch[i]);
ImageProcessor ip = imp.getProcessor();
switch (imp.getType()) { // as in ij.plugin.frame.ContrastAdjuster.reset(ImagePlus, ImageProcessor)
case ImagePlus.COLOR_RGB:
ip.reset(); break;
case ImagePlus.GRAY16:
case ImagePlus.GRAY32:
ip.resetMinAndMax(); break;
}
patch[i].setMinAndMax(ip.getMin(), ip.getMax());
patch[i].getProject().getLoader().decacheAWT(patch[i].getId());
Display.repaint(patch[i].getLayer(), patch[i], null, 0, true);
}
}
示例2: alignSelectionTask
import ini.trakem2.display.Display; //导入方法依赖的package包/类
final static public Bureaucrat alignSelectionTask ( final Selection selection )
{
final Worker worker = new Worker("Aligning selected images", false, true) {
@Override
public void run() {
startedWorking();
try {
final int m = chooseAlignmentMode();
if (-1 == m)
return;
alignSelection( selection, m );
Display.repaint(selection.getLayer());
} catch (final Throwable e) {
IJError.print(e);
} finally {
finishedWorking();
}
}
@Override
public void cleanup() {
if (!selection.isEmpty())
selection.getLayer().getParent().undoOneStep();
}
};
return Bureaucrat.createAndStart( worker, selection.getProject() );
}
示例3: correctDistortionFromSelectionTask
import ini.trakem2.display.Display; //导入方法依赖的package包/类
final static public Bureaucrat correctDistortionFromSelectionTask ( final Selection selection )
{
final Worker worker = new Worker("Distortion Correction", false, true) {
@Override
public void run() {
startedWorking();
try {
correctDistortionFromSelection( selection );
Display.repaint(selection.getLayer());
} catch (final Throwable e) {
IJError.print(e);
} finally {
finishedWorking();
}
}
@Override
public void cleanup() {
if (!selection.isEmpty())
selection.getLayer().getParent().undoOneStep();
}
};
return Bureaucrat.createAndStart( worker, selection.getProject() );
}
示例4: remove
import ini.trakem2.display.Display; //导入方法依赖的package包/类
/** If the given node is null, it will be searched for. */
public boolean remove(final boolean check, final ProjectThing thing, final DefaultMutableTreeNode node) {
final Object obd = thing.getObject();
if (obd.getClass() == Project.class) return ((Project)obd).remove(check); // shortcut to remove everything regardless.
final boolean b = thing.remove(check) && removeNode(null != node ? node : findNode(thing, this));
Display.repaint();
return b;
}
示例5: remove
import ini.trakem2.display.Display; //导入方法依赖的package包/类
/** Remove this instance, cascading the remove action to the children and the objects. Will also cleanup the nodes in the ProjectTree. */
public boolean remove(boolean check) {
if (check && !Utils.check("Really delete " + this.toString() + (object instanceof Layer && ((Layer)object).getDisplayables().size() > 0 ? " and all its children?" : ""))) return false;
// remove the children, which will propagate to their own objects
if (null != al_children) {
synchronized (al_children) {
LayerThing[] ob = new LayerThing[al_children.size()];
al_children.toArray(ob);
for (int i=0; i<ob.length; i++) {
if ( ! ob[i].remove(false)) {
Utils.log("Could not delete " + ob[i]);
return false;
}
}
al_children.clear();
}
}
// TODO the attributes are being ignored! (not even created either)
// remove the object
if (null != object && object instanceof DBObject) {
if (!((DBObject)object).remove(false)) {
Utils.log("Could not delete " + object);
return false;
}
Display.repaint();
}
// remove the Thing itself
if (null != parent && !parent.removeChild(this)) {
Utils.log("Could not delete LayerThing with id=" + id);
return false;
}
removeFromDatabase();
return true;
}
示例6: revert
import ini.trakem2.display.Display; //导入方法依赖的package包/类
public void revert(Patch p) {
for (int i=0; i<patch.length; i++) {
if (patch[i].getId() == p.getId()) {
revert2(p);
Display.repaint(p.getLayer(), p, 0);
//p.getProject().getLoader().vacuum();
break;
}
}
}
示例7: saveImages
import ini.trakem2.display.Display; //导入方法依赖的package包/类
/** Store working copies and remake the awts and repaint. */
public void saveImages() {
Utils.log2("PatchStack: calling saveImages");
if (!this.changes) {
Utils.log2("PatchStack.saveImages: nothing changed.");
return;
}
Loader loader = patch[currentSlice-1].getProject().getLoader();
Utils.showProgress(0);
for (int i=0; i<patch.length; i++) {
ImagePlus imp = loader.fetchImagePlus(patch[i]);
Utils.log2("PatchStack.saveImages: patch imp " + i + " has the imp.changes=" + imp.changes + " and the called[i]=" + called[i]);
if (imp.changes || called[i]) {
patch[i].updateInDatabase("tiff_working"); // may be doing it twice, check TODO
/*
patch[i].createImage(); //flushes the old awt, and creates the new one, and stores it in the cache.
*/
// just flush away all dependent images, will be recreated when needed on repaint
patch[i].getProject().getLoader().decache(imp);
Display.repaint(patch[i].getLayer(), patch[i], 0);
// reset
imp.changes = false;
called[i] = false;
}
Utils.showProgress((i+1.0) / patch.length);
}
this.changes = false;
//patch[0].getProject().getLoader().vacuum();
Utils.showProgress(1);
}
示例8: correctDistortionFromSelection
import ini.trakem2.display.Display; //导入方法依赖的package包/类
final static public Bureaucrat correctDistortionFromSelection( final Selection selection )
{
final List< Patch > patches = new ArrayList< Patch >();
for ( final Displayable d : Display.getFront().getSelection().getSelected() )
if ( d instanceof Patch ) patches.add( ( Patch )d );
if ( patches.size() < 2 )
{
Utils.log("No images in the selection.");
return null;
}
final Worker worker = new Worker( "Lens correction" )
{
@Override
final public void run()
{
try
{
startedWorking();
if ( !correctDistortionFromSelectionParam.setup( selection ) ) return;
DistortionCorrectionTask.run( correctDistortionFromSelectionParam.clone(), patches, selection.getActive(), selection.getLayer(), null );
Display.repaint();
}
catch ( final Exception e ) { IJError.print( e ); }
finally { finishedWorking(); }
}
};
return Bureaucrat.createAndStart( worker, selection.getProject() );
}
示例9: invertLookupTable
import ini.trakem2.display.Display; //导入方法依赖的package包/类
public void invertLookupTable() {
Loader loader = patch[currentSlice-1].getProject().getLoader();
ImagePlus imp = loader.fetchImagePlus(patch[currentSlice-1]);
imp.getProcessor().invert();
Display.repaint(patch[currentSlice-1].getLayer(), patch[currentSlice-1], 0);
patch[currentSlice-1].updateInDatabase("tiff_working"); // TODO if the database updates are too much, then one could put a "save" button somewhere that shows as "unsaved" (red?) when there are unsaved changes.
imp.changes = false; // just saved
}
示例10: decacheAll
import ini.trakem2.display.Display; //导入方法依赖的package包/类
/** Remove all awts and snaps from the loader's cache, and repaint (which will remake as many as needed) */
public void decacheAll() {
final HashSet<ImagePlus> hs = new HashSet<ImagePlus>(); // record already flushed imps, since there can be shared imps among Patch instances (for example in stacks)
final Loader loader = patch[currentSlice-1].getProject().getLoader();
for (int i=0; i<patch.length; i++) {
ImagePlus imp = loader.fetchImagePlus(patch[i]);
if (hs.contains(imp)) continue;
else if (null != imp) hs.add(imp);
loader.decache(imp);
loader.flushMipMaps(patch[i].getId());
Display.repaint(patch[i].getLayer(), patch[i], 0);
}
}
示例11: alignPatchesTask
import ini.trakem2.display.Display; //导入方法依赖的package包/类
final static public Bureaucrat alignPatchesTask ( final List< Patch > patches , final Set< Patch > fixedPatches )
{
if ( 0 == patches.size())
{
Utils.log("Can't align zero patches.");
return null;
}
final Worker worker = new Worker("Aligning images", false, true) {
@Override
public void run() {
startedWorking();
try {
final int m = chooseAlignmentMode();
if (-1 == m)
return;
alignPatches( patches, fixedPatches, m );
Display.repaint();
} catch (final Throwable e) {
IJError.print(e);
} finally {
finishedWorking();
}
}
@Override
public void cleanup() {
patches.get(0).getLayer().getParent().undoOneStep();
}
};
return Bureaucrat.createAndStart( worker, patches.get(0).getProject() );
}
示例12: montageLayers
import ini.trakem2.display.Display; //导入方法依赖的package包/类
@SuppressWarnings( { "rawtypes", "unchecked" } )
final static public void montageLayers(
final Align.ParamOptimize p,
final List<Layer> layers,
final boolean tilesAreInPlaceIn,
final boolean largestGraphOnlyIn,
final boolean hideDisconnectedTilesIn,
final boolean deleteDisconnectedTilesIn,
final boolean sloppyOverlapTest ) {
int i = 0;
for (final Layer layer : layers) {
if (Thread.currentThread().isInterrupted()) return;
final Collection<Displayable> patches = layer.getDisplayables(Patch.class, true);
if (patches.isEmpty()) continue;
for (final Displayable patch : patches) {
if (patch.isLinked() && !patch.isOnlyLinkedTo(Patch.class)) {
Utils.log("Cannot montage layer " + layer + "\nReason: at least one Patch is linked to non-image data: " + patch);
continue;
}
}
Utils.log("====\nMontaging layer " + layer);
Utils.showProgress(((double)i)/layers.size());
i++;
alignPatches(p, new ArrayList<Patch>((Collection<Patch>)(Collection)patches), new ArrayList<Patch>(), tilesAreInPlaceIn, largestGraphOnlyIn, hideDisconnectedTilesIn, deleteDisconnectedTilesIn, sloppyOverlapTest );
Display.repaint(layer);
}
}
示例13: draw
import ini.trakem2.display.Display; //导入方法依赖的package包/类
public void draw() {
// repaint all Displays that show any layer of the parent LayerSet (this is overkill, but not so bad, almost never there'll be that many Displays)
Display.repaint(patch[currentSlice-1].getLayer().getParent());
}
示例14: repaintWindow
import ini.trakem2.display.Display; //导入方法依赖的package包/类
public void repaintWindow() {
Display.repaint(patch[currentSlice-1].getLayer(), patch[currentSlice-1], 0);
}
示例15: updateAndRepaintWindow
import ini.trakem2.display.Display; //导入方法依赖的package包/类
public void updateAndRepaintWindow() {
Display.repaint(patch[currentSlice-1].getLayer(), patch[currentSlice-1], 0);
}