Skip to content

Commit d4b37ca

Browse files
authored
Merge pull request #335 from bls337/main
channels() should return the used channels
2 parents a06d8db + e73e5af commit d4b37ca

File tree

9 files changed

+35
-22
lines changed

9 files changed

+35
-22
lines changed

src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsSCAPE.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import org.micromanager.lightsheetmanager.api.data.AcquisitionMode;
44
import org.micromanager.lightsheetmanager.api.data.CameraMode;
5+
import org.micromanager.lightsheetmanager.api.internal.DefaultChannelSettings;
56
import org.micromanager.lightsheetmanager.api.internal.DefaultScanSettings;
67
import org.micromanager.lightsheetmanager.api.internal.DefaultSheetCalibration;
78
import org.micromanager.lightsheetmanager.api.internal.DefaultSliceCalibration;
@@ -116,6 +117,13 @@ interface Builder<T extends AcquisitionSettings.Builder<T>> extends AcquisitionS
116117
*/
117118
//Builder copyBuilder();
118119

120+
/**
121+
* Returns the immutable DefaultChannelSettings instance.
122+
*
123+
* @return immutable DefaultChannelSettings instance.
124+
*/
125+
DefaultChannelSettings channelSettings();
126+
119127
/**
120128
* Returns the immutable DefaultTimingSettings instance.
121129
*

src/main/java/org/micromanager/lightsheetmanager/api/ChannelSettings.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,6 @@ interface Builder {
2828

2929
ChannelSpec[] channels();
3030

31-
ChannelSpec[] usedChannels();
31+
ChannelSpec[] allChannels();
3232

3333
}

src/main/java/org/micromanager/lightsheetmanager/api/internal/DefaultAcquisitionSettingsSCAPE.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -349,19 +349,14 @@ private DefaultAcquisitionSettingsSCAPE(Builder builder) {
349349
// timePointInterval_,
350350
// postMoveDelay_
351351
// );
352-
// }
353-
354-
// @Override
355-
// public AcquisitionSettingsDISPIM.Builder copyBuilder() {
356-
// return null;
357352
// }
358353

359354
/**
360355
* Returns the immutable DefaultChannelSettings instance.
361356
*
362357
* @return immutable DefaultChannelSettings instance.
363358
*/
364-
//@Override
359+
@Override
365360
public DefaultChannelSettings channelSettings() {
366361
return channelSettings_;
367362
}

src/main/java/org/micromanager/lightsheetmanager/api/internal/DefaultChannelSettings.java

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -117,19 +117,25 @@ public String[] channelGroups() {
117117
}
118118

119119
/**
120-
* Returns the channels for the selected channel group.
120+
* Returns the used channels for the selected channel group.
121121
*
122-
* @return the channels for the channel group.
122+
* @return the channels for the channel group
123123
*/
124124
@Override
125125
public ChannelSpec[] channels() {
126-
return groups_.getOrDefault(channelGroup_, EMPTY_CHANNELS);
126+
return Arrays.stream(groups_.getOrDefault(channelGroup_, EMPTY_CHANNELS))
127+
.filter(ChannelSpec::useChannel)
128+
.toArray(ChannelSpec[]::new);
127129
}
128130

131+
/**
132+
* Returns all channels for the selected channel group.
133+
*
134+
* @return all channels for the selected channel group
135+
*/
129136
@Override
130-
public ChannelSpec[] usedChannels() {
131-
return Arrays.stream(groups_.get(channelGroup_))
132-
.filter(ChannelSpec::isUsed)
133-
.toArray(ChannelSpec[]::new);
137+
public ChannelSpec[] allChannels() {
138+
return groups_.getOrDefault(channelGroup_, EMPTY_CHANNELS);
134139
}
140+
135141
}

src/main/java/org/micromanager/lightsheetmanager/gui/tabs/channels/ChannelTable.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ public class ChannelTable extends JScrollPane {
3131
public ChannelTable(final LightSheetManager model) {
3232
model_ = Objects.requireNonNull(model);
3333

34+
// set the channel group first to get the correct channel array
3435
final String channelGroup = model_.acquisitions().settings().channelSettings().channelGroup();
3536
final ChannelSpec[] channels = model_.acquisitions().settings().channelSettings().channels();
3637

src/main/java/org/micromanager/lightsheetmanager/gui/tabs/channels/ChannelTableModel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ public Object getValueAt(int row, int col) {
7979
final ChannelSpec channelSpec = data_.getChannelByIndex(row);
8080
switch (col) {
8181
case COLUMN_USE:
82-
return channelSpec.isUsed();
82+
return channelSpec.useChannel();
8383
case COLUMN_PRESET:
8484
return channelSpec.getName();
8585
case COLUMN_OFFSET:

src/main/java/org/micromanager/lightsheetmanager/gui/tabs/channels/ChannelTablePanel.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,12 @@ private void createEventHandlers() {
7474
cmbChannelGroup_.registerListener(e -> {
7575
final String channelGroup = cmbChannelGroup_.getSelected();
7676
table_.updatePresetComboBoxes(channelGroup);
77+
// set the channel group to use when we get the channels
78+
model_.acquisitions().settingsBuilder().channelSettingsBuilder().channelGroup(channelGroup);
79+
model_.acquisitions().updateAcquisitionSettings();
80+
// update the table data model and refresh ui
7781
table_.getData().setChannels(channelGroup, model_.acquisitions().settings().channelSettings().channels());
7882
table_.getData().setChannelGroup(channelGroup);
79-
model_.acquisitions().settingsBuilder().channelSettingsBuilder().channelGroup(channelGroup);
8083
table_.refreshData();
8184
});
8285

src/main/java/org/micromanager/lightsheetmanager/model/channels/ChannelSpec.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ public ChannelSpec(final boolean useChannel, final String group, final String na
3232
}
3333

3434
public ChannelSpec(final ChannelSpec channel) {
35-
this.useChannel_ = channel.useChannel_;
36-
this.group_ = channel.group_;
37-
this.name_ = channel.name_;
38-
this.offset_ = channel.offset_;
35+
useChannel_ = channel.useChannel_;
36+
group_ = channel.group_;
37+
name_ = channel.name_;
38+
offset_ = channel.offset_;
3939
}
4040

4141
public String getName() {
@@ -54,7 +54,7 @@ public void setOffset(final double offset) {
5454
offset_ = offset;
5555
}
5656

57-
public boolean isUsed() {
57+
public boolean useChannel() {
5858
return useChannel_;
5959
}
6060

src/main/java/org/micromanager/lightsheetmanager/model/channels/ChannelTableData.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public ChannelSpec[] getChannels() {
4141

4242
public ChannelSpec[] getUsedChannels() {
4343
return channels_.stream()
44-
.filter(ChannelSpec::isUsed)
44+
.filter(ChannelSpec::useChannel)
4545
.toArray(ChannelSpec[]::new);
4646
}
4747

0 commit comments

Comments
 (0)